我的文档结构如下所示:
{
key1:value1,
key2:value2,
key3: [
index0: objectID(...),
index1: [
index0: objectID(...)
]
]
}
我知道您可以使用Mongo的点表示法访问数组,但我正在尝试构建一个只选择key3.index1长度大于零的所有记录的查询。
此集合中的所有文档都将具有key3,而key3将始终在index1处具有数组。在某些情况下,此数组不会为空。
到目前为止,我尝试过这样的事情:
db.collection.find({$where: "this.key3.1.length > 0"})
但这不起作用。
如何使用嵌套数组的长度查询文档?
编辑:示例数据
{
"_id" : ObjectId("57c98fe77fe6f8009401b5d7"),
"arrayOfData" : [
ObjectId("57c98fe87fe6f8009401b5d8"),
[
ObjectId("57c98fe87fe6f8009401b5d9")
]
]
}
以上是文档结构中的相关代码段。所有文档都有这个,在某些情况下,嵌套数组将为空,在某些情况下它不会。