如何使用MongoDB db.coll.find()根据内部类中的字段进行搜索?

dar*_*han 3 javascript database json mongodb

我试图在MongoDB中使用find()命令在my collection中找到文档,有人可以解释为什么它不起作用吗?和正确的命令执行相同的?

j = {name:"mongo",property:{type:"database",lang:"cpp"}};
{
    "name" : "mongo",
    "property" : {
        "type" : "database",
        "lang" : "cpp"
    }
}

db.dummy.save(j);

db.dummy.find({"property" : { "type" : "database" }});
Run Code Online (Sandbox Code Playgroud)

最后一个命令不会给我任何回报.我无法理解为什么.如果我,我该怎么办

And*_*ich 5

在mongodb中有点符号的概念.因此,要进入嵌入式文档,您应该使用点表示法.在你的情况下,它看起来像:

db.dummy.find({"property.type": "database"})
Run Code Online (Sandbox Code Playgroud)

或者你可以像这样搜索完整的对象匹配:

db.dummy.find({"property" : { "type" : "database", "lang" : "cpp" }});
Run Code Online (Sandbox Code Playgroud)