从mongodb

时间:2015-10-29 13:49:32

标签: mongodb

在mongodb我保存了这样的文件。

"Angela_Merkel": {
        "birthPlace": "Hamburg,West_Germany",
        "thumbnail": "http://commons.wikimedia.org/wiki/Special:FilePath/Angela-Merkel-2014.jpg?width=300",
        "almaMater": "Leipzig_University",
        "birthDate": "1954-07-17",
        "spouse": "Joachim_Sauer"
    }

这种方式有很多人的信息。现在,如果我想获得“Angela_Merkel”的所有信息,或者仅仅是“Angela_Merkel”的“birthdDate”,那么查询将会是什么?

1 个答案:

答案 0 :(得分:0)

就像chridam所说的那样重构你的文件会更实际:

{"name": "Angela_Merkel", 
"birthPlace": "Hamburg,West_Germany",
"thumbnail": "http://commons.wikimedia.org/wiki/Special:FilePath/Angela-Merkel-2014.jpg?width=300",
"almaMater": "Leipzig_University",
"birthDate": "1954-07-17",
"spouse": "Joachim_Sauer"
}

在"内部"集合(它的集合名称是集合的复数形式,是一组文档)

然后你可以这样做:

db.people.find({"name":"Angela Merkel"},{"_id":0," "birthdDate":1 })

获得:

{"birthDate": "1954-07-17"}

无论如何,你可以通过这种方式获得你想要的文件:

"生日":

db.person.find({"Angela_Merkel.birthDate": "1954-07-17"})

或所有信息:

db.person.find({"Angela_Merkel": { $exists: true}})

但这样做并没有多大意义。

PD:已编辑以包含最后一部分。

相关问题