我需要使用包含嵌套数组的mongoDb查询文档。我看到很多使用简单的$ in运算符的例子。唯一的问题是我严格需要检查正确的子集。
请考虑以下文件。
{data: [[1,2,3], [4,5,6]]}
查询需要能够获取所有[1,2,3]的文档,其中1,2,3可以是任何顺序,这排除了以下查询,因为它只会以正确的顺序匹配
{data:{$elemMatch:{$all:[[1,2,3]]}}}
我也尝试过嵌套的$ elemMatch运算符,但没有成功,因为$ in运算符将返回文档,即使只有一个元素匹配,如下所示。
{data:{$elemMatch:{$elemMatch:{$in:[1,4]}}}}
答案 0 :(得分:0)
不确定您的实际查询是什么样的,但这应该是您需要的: db.documentDto.find({“some_field”:{“$ elemMatch”:{“$ in”:[1,2,3]}}})
答案 1 :(得分:0)
我还没有得到一个完整的答案(并没有太多的时间,因为它已经很晚了)但我会考虑
价: http://docs.mongodb.org/manual/reference/operator/aggregation-pipeline/将为您提供上述每一项信息。
通过快速搜索,我提出了一个可能有用的类似问题/示例:Mongodb sort inner array