【发布时间】:2015-01-12 08:27:38
【问题描述】:
我正在尝试让 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 应该可以工作:
【问题讨论】:
-
您使用哪个客户端来输入和运行这些查询?蒙戈壳?一个Java程序? (您链接到底部的一篇 Java 文章。)虽然所有客户端的许多概念和细节都相似,但许多客户端都有自己的特殊怪癖,使它们与众不同。例如,我希望您的第三个代码块中的 ObjectId() 语法仅适用于 JavaScript(包括 mongo shell)。
-
等待您在 Java 中尝试这个?这不是你在 Java 中创建对象的方式
-
我在 Mongolab 浏览器中运行查询。我还尝试使用运行良好的 MongoId() 构造函数在 php 中运行相同的查询