如果字段数组和参数数组相交,则过滤 MongoDb 集合
Posted
技术标签:
【中文标题】如果字段数组和参数数组相交,则过滤 MongoDb 集合【英文标题】:Filter MongoDb collection if field array and argument array intersect 【发布时间】:2016-03-18 14:52:45 【问题描述】:我正在创建一个 Meteor 学习项目。其中有一个集合,它的文档有一个名为 keywords 的属性,它是一个字符串数组。我有第二个字符串数组。我想以这种方式过滤集合,它只返回 keywords 数组与第二个数组相交的那些文档,即两个数组都有一个或几个相同的元素。有可能吗?
【问题讨论】:
【参考方案1】:是的,查询是:
var searchKeywords = ['a','b','c','d']
MyCollection = new Mongo.Collection('mycollection');
MyCollection.insert(
keywords: ['x','y','a','b']
);
// returns some ID
MyCollection.findOne(
keywords: $in: searchKeywords
)._id
// returns the same ID
【讨论】:
非常感谢。真的行。只有 searchKeywords 不能放在花括号中,因为 $in 需要一个数组。 Aoff,是的,解决了这个问题!谢谢以上是关于如果字段数组和参数数组相交,则过滤 MongoDb 集合的主要内容,如果未能解决你的问题,请参考以下文章
带有 C#Driver 的 MongoDB:如何过滤嵌套对象数组中的字段