我有一个mongoDB数据库,带有一个包含此文档的客户端集合:
{
"_id" : ObjectId("535a3bc1deaf501ff87d188f"),
"address" : "ghjk",
"name" : "ghjk",
"ni" : "12345678m",
"orders" : [
"534e53012817e40b1995d0d8"
],
"phone" : "655333004",
"surname" : "ghjk"
}
现在,我需要在我的集合中找到包含订单数组中的id 534e53012817e40b1995d0d8的文档..
db.clients.findOne({"534e53012817e40b1995d0d8":{$in:"orders"}});
这给我一个错误:
未捕获的异常:错误:{“$ err”:“无效查询”,“代码”:12580}
我怎么能这样做?
答案 0 :(得分:1)
提供价值的订单的简单查找将完成这项工作:
db.clients.find({"orders":"534e53012817e40b1995d0d8"})
如果你想使用"$in"
运算符,你必须使用这个表达式(首先是标记的搜索位置,而不是列为数组的匹配值列表),请参阅doc of $in:
db.clients.find({"orders":{"$in":["534e53012817e40b1995d0d8"]}})