我有一个mongo查询,如下所示:
db.membership.find({ "$match" : { "members.sourcedid.id" : "0144401" , "sourcedid.path.store" : "0985" , "sourcedid.path.campus" : "2E3A9B7C-6C8E-433C-85FC-4632FD7C90CD"}})
它不会返回任何结果。
但如果我运行以下命令则会返回结果:
db.membership.find({ "members.sourcedid.id" : "0144401" , "sourcedid.path.store" : "0985" , "sourcedid.path.campus" : "2E3A9B7C-6C8E-433C-85FC-4632FD7C90CD"})
我不确定为什么会这样。任何人都可以帮忙吗?我是mongodb的新手
感谢。
答案 0 :(得分:1)
它不会产生任何结果,因为 $match
运算符仅适用于聚合框架,而不适用于 find()
方法。
上述查询可以使用 aggregate()
方法
db.membership.aggregate([
{
"$match" : {
"members.sourcedid.id": "0144401",
"sourcedid.path.store": "0985",
"sourcedid.path.campus": "2E3A9B7C-6C8E-433C-85FC-4632FD7C90CD"
}
}
])