我有mongodb文件,如
{
"_id" : ObjectId("543d563bde1e58511c264340"),
...some fields ...
"pref" : [
{
"user_id" : 1,
"value" : 0.56
}
]
}
如何查找pref
不包含user_id :1
条目的所有文档?
答案 0 :(得分:2)
有点不清楚你在这里寻找什么。如果您要查找user_id
除了' 1'之外还有其他值的所有条目,那么您需要:
db.collection.find({"pref.user_id": {'$ne': 1}})
如果您正在查找' user_id'字段根本不存在:
db.collection.find({"pref.user_id": {'$exists': 0}})
请记住,虽然这两个查询在嵌套数组上的行为。你真正想要获得的是所有文件,其中任何的对象都在' pref'数组匹配指定的条件。