是否有mongo查询选择器允许我检索每个文档,其中在数组字段中至少一项与另一个数组中的至少一项匹配?
假设我有一个mongo文档,其中的reference
字段中包含字符串数组
reference: [
"foo",
"bar",
"or",
"not"
]
并且我想选择所有文档,可以在引用数组字段中找到与我在javascript变量的另一个数组中拥有的任何项目相匹配的项目(我们称它为target
)
var target= [
"yes",
"but",
"not ",
"yet"
];
在此示例中,它将匹配,因为not
在两个数组中都存在。
我知道$in
如果只在mongo数组中查找一个元素,就可以使用它。但是,我宁愿避免迭代target
数组以查找数组中包含的每个项目reference
。
您可以将$ elemMatch与结合使用$in
以获得所需的结果:
find({reference: { $elemMatch: { $in : target } } });
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句