【发布时间】:2016-01-24 16:50:49
【问题描述】:
“用户”集合包含带有数组字段的文档。
示例文件:
{
"_id" :1001,
"properties" : ["A", "B", "C", "D", "E", "F", "G", "H", "I"]
}
{
"_id" : 1002,
"properties" : ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
}
如何构建查询以获取符合下一个条件的文档? 仅获取具有属性的文档:
[ "3" AND ("A" OR "1") AND ("B" OR "2") ]
或以其他方式:
"3" AND "A" AND "B"
OR
"3" AND "A" AND "2"
OR
"3" AND "1" AND "B"
OR
"3" AND "1" AND "2"
在前面的示例中,查询必须只返回文档:
{
"_id" : 1002,
"properties" : ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
}
该集合有 400 万份文档。文档数组“属性”字段的平均长度为 15 个元素。我要找的查询在这个相当大的集合中一定有不错的表现。
【问题讨论】: