如果字段数组和参数数组相交,则过滤MongoDb集合

时间:2015-12-12 20:43:36

标签: arrays mongodb meteor filtering intersection

我正在创建一个流星学习项目。其中有一个集合,其文档有一个名为 keywords 的属性,它是一个字符串数组。我有第二个字符串数组。我想以这种方式过滤集合,它只返回那些 keywords 数组与第二个数组相交的文档,即两个数组都有一个或几个相同的元素。有可能吗?

1 个答案:

答案 0 :(得分:16)

是的,查询将是:

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