【发布时间】:2016-11-02 22:25:46
【问题描述】:
我有一个与下面提到的非常相似的集合(用户)。
db.users.find().pretty();
{
"_id" : ObjectId("5773fc2826e0b6cf532569ca"),
"user" : {
"login" : "tester"
}
}
{
"_id" : ObjectId("5773fd6426e0b6cf532569cb"),
"user" : {
"login" : "tester",
"name" : "anil"
}
}
当我这样做时
> db.users.find({"user":{"login":"tester"}});
我得到了这个结果
{ "_id" : ObjectId("5773fc2826e0b6cf532569ca"), "user" : { "login" : "tester" } }
但是当我在下面做时,我没有得到任何记录。
db.users.find({"user":{"name":"anil"}});
> 所以我的问题是为什么第二个查询没有返回响应?
另外,基于上面的例子,我什至怀疑这是否是访问子文档的正确方法?
不应该通过.notation 访问子文档。像下面的东西? (在这种情况下,我在这两种情况下都得到了正确的输出)
db.users.find({"user.login":"tester"});
{ "_id" : ObjectId("5773fc2826e0b6cf532569ca"), "user" : { "login" : "tester" } }
{ "_id" : ObjectId("5773fd6426e0b6cf532569cb"), "user" : { "login" : "tester", "name" : "anil" } }
和
> db.users.find({"user.name":"anil"});
{ "_id" : ObjectId("5773fd6426e0b6cf532569cb"), "user" : { "login" : "tester", "name" : "anil" } }
>
【问题讨论】:
标签: mongodb mongodb-query