MongoDB $oid против ObjectId
Я пытаюсь заставить работать запрос mongodb. Коллекция поставляется в формате:
{
"_id": {
"$oid": "54651022bffebc03098b4567"
},
"browser": "ie",
"browser_version": "10.0 Desktop",
"os_version": "8",
"device": null,
"os": "Windows"
}
Следующие работы:
{
"_id": {
"$in": [
{
"$oid": "54651022bffebc03098b4567"
},
{
"$oid": "54651022bffebc03098b4568"
}
]
}
}
Однако я получаю синтаксическую ошибку для следующего:
{
"_id": {
"$in": [
ObjectId("54651022bffebc03098b4567"),
ObjectId("54651022bffebc03098b4568")
]
}
}
Есть похожие вопросы, которые предположили, что ObjectId должен работать:
1 ответ
Решение
Пользовательский интерфейс MongoLab использует расширенный JSON Strict MongoDB, поэтому идентификаторы объектов представлены таким образом, как во втором блоке кода OP:
{ "$oid": "<id>" }