我在 Mongo 中有一个文档,其结构如下:
{
"_id" : ObjectId("4eea7237d0ba3a04f20008fb"),
"code" : "b2677c2809c844cc9d7e3e4ff8d95b46",
"city_id" : 4,
"datetime" : ISODate("2011-12-13T18:41:44.062Z"),
"plays" : [
{
"play_id" : 717224,
"clicks" : [ ],
"order" : 1,
"mysql_id" : 145
}
我想查询其 play.clicks 属性为非空列表的文档。我试过没有运气存在。我认为这样的事情可能会起作用:
db.collection.find({plays.clicks.0: {$exists:true}})
但我相信这只会返回 play 数组中第一个元素包含非空点击列表的文档。
有没有想过如何完成这项工作?
谢谢
最佳答案
db.collection.find({plays.clicks.0: {$exists:true}})
是正确的语法,但是由于 plays
是一个列表,因此查询将匹配 任何在 plays
中有点击的文档。无法以这种方式检索子元素的 Array 子集 [1]。子/虚拟收藏有一张票[2]
关于javascript - Mongo中查询嵌套列表是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583179/