我有这个收藏品
{
"name" : "montalto",
"users" : [
{
"username" : "ciccio",
"email" : "aaaaaaaa",
"password" : "aaaaaaaa",
"money" : 0
}
],
"numers" : "8",
"_id" : ObjectId("5040d3fded299bf03a000002")
}
如果我想搜索名称为 montalto 的集合以及名为 ciccio 的用户,我将使用以下查询:
db.coll.find({name:'montalto', users:{username:'ciccio'}}).count()
但它不起作用。哪里出错了?
答案 0 :(得分:7)
您必须使用dot notation来匹配嵌入式数组对象的内部:
db.coll.find({name: 'montalto', 'users.username': 'ciccio'}).count()
答案 1 :(得分:5)
澄清集合是一组文档。所以你在这个问题上的术语略有不同。
要访问嵌入的文档或对象,只需使用点符号,就像在传统的javascript中一样。
db.coll.find({name: 'montalto', 'users.username': 'ciccio'})
您当然可以在结尾添加.count()
。