我有这个收藏品
{
"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()
但不起作用。我哪里出错了?
发布于 2012-08-31 15:45:43
您必须使用点符号来匹配嵌入数组对象的内部:
db.coll.find({name: 'montalto', 'users.username': 'ciccio'}).count()
发布于 2012-08-31 16:35:51
要澄清集合,是一组文档。所以你在这个问题上的术语有点偏离了。
要访问嵌入的文档或对象,只需像在传统的javascript中一样使用点符号。
db.coll.find({name: 'montalto', 'users.username': 'ciccio'})
当然,您可以在后面添加.count()
。
https://stackoverflow.com/questions/12218552
复制相似问题