我有以下mongo文档结构
"search": [
[
"keyword",
"match"
],
[
"testing",
"something",
"serious"
]
]
我想找到数组内的关键字数组与$all
查询匹配的文档。
例如,如果搜索只有1级我会做
{'search': {'$all': ['keyword','match']}}
我尝试过使用:
{'search': {'$elemMatch': {'$all': ['keyword','match']}}}
但我没有结果。
答案 0 :(得分:0)
如果您事先知道关键字数组,并且想要在search
数组中匹配包含该数组的文档,则可以使用如下的简单查询。
db.collection.find({"search": ["keyword", "match"]});
那应该返回你的样本文件。另一方面,如果数组未被search
内的元素完全包含,则它不会返回任何内容。例如,以下查询不会返回您的示例文档。
db.collection.find({"search": ["keyword", "match", "testing"]});