我正在尝试在新项目上使用mongoDB。
我的数据库中有这些文件:
{ "_id" : ObjectId("ID"), "local" : { "rank" : "null", "password" : "PASSWORD", "email" : "EMAIL" }, "__v" : 0 }
{ "_id" : ObjectId("ID"), "local" : { "rank" : "admin", "password" : "PASSWORD", "email" : "EMAIL" }, "__v" : 0 }
{ "_id" : ObjectId("ID"), "local" : { "rank" : "null", "password" : "PASSWORD", "email" : "EMAIL" }, "__v" : 0 }
我想查找所有具有空排名的文档。
所以我测试:
db.users.find({local:{rank:"null"}})
但它不起作用。
如果我使用命令测试:
db.users.find({"local":{ "rank" : "null", "password" : "PASSWORD", "email" : "EMAIL" }})
有效。为什么它不适用于第一个命令?
答案 0 :(得分:0)
您对文档进行的两种比较。第二个与文档local
匹配。
要比较文档中的特定字段,您必须使用点表示法。
db.users.find({"local.rank":"null"}).
有关如何查询嵌入文档的更多信息。 https://docs.mongodb.com/manual/core/document/#embedded-documents