如果字段数组和参数数组相交,则过滤 MongoDb 集合
Filter MongoDb collection if field array and argument array intersect
我正在创建一个 Meteor 学习项目。其中有一个集合,它的文档有一个名为 keywords 的 属性,它是一个字符串数组。我有第二个字符串数组。我想以这种方式过滤集合,它只返回那些 keywords 数组与第二个数组相交的文档,即两个数组都有一个或几个相同的元素。可能吗?
是的,查询将是:
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
我正在创建一个 Meteor 学习项目。其中有一个集合,它的文档有一个名为 keywords 的 属性,它是一个字符串数组。我有第二个字符串数组。我想以这种方式过滤集合,它只返回那些 keywords 数组与第二个数组相交的文档,即两个数组都有一个或几个相同的元素。可能吗?
是的,查询将是:
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