Meteor:如何找到具有匹配的选择器数组的对象数组?

时间:2015-11-21 17:00:03

标签: arrays mongodb meteor

假设我有一个字符串数组:

var lcArray = ["this", "is", "array", "of", "title"]

我需要找到lC字段与lcArray之一匹配的所有对象。我这样做了:

var qC = _.forEach(lcArray, function(lc) {
  MyCollection.find({lC:lc}, {
    fields: {lC:1, title:1, src:1, sC:1, _id:0},
    reactive: false,
    transform: null
  }).fetch();
});
console.log(qC);  // return ["this", "is", "array", "of", "title"]

我需要这个输出:

[
    {
        lC: "array", title: "Array", src:"cat", sC:"cat"
    },
    {
        lC: "title", title: "Title", src:"bear", sC:"bear"
    }
]

如何找到匹配数组选择器的对象数组?谢谢你,,,

1 个答案:

答案 0 :(得分:1)

在查询中使用 $in 运算符,因为它选择字段值等于指定数组中任何值的文档:

var lcArray = ["this", "is", "array", "of", "title"];
var qC = MyCollection.find({"lC" : { "$in": lcArray } }, {
    fields: {lC:1, title:1, src:1, sC:1, _id:0},
    reactive: false,
    transform: null
}).fetch();

console.log(qC);