$ all mongodb node js

时间:2013-08-12 19:58:06

标签: node.js mongodb

我正在使用mongodb和节点JS的关键字实现搜索,但我发现Mongo中有运算符$ all,它选择字段包含数组并包含所有元素的文档。

这是我的节点JS

的源代码
exports.find = function(req, res) {
    var b=req.params.search;
    var query = {};
    var cadsrch = b.split(' ');
    var l = cadsrch.length;
    var i = 0;
    for (i = 0; i < l; i++) {
        if(cadsrch[i]!=''){
          query[i]=new RegExp('^'+cadsrch[i], 'i');
        }
    }

    db.collection('publicacion', function(err, collection) {
        collection.find({tags: {'$all':query}},{title:true,content:true}).limit(5).toArray(function(err, items) {
            res.jsonp(items);
        });
    });
};

上述来源不起作用,但此查询适用于Mongo-&gt;

db.publication.find({tags:{$all:['chevrolet','car']}})

奇怪的是'$ in'而不是'$ all'的作品,但使用'$ all'来实现精确搜索会很有用

1 个答案:

答案 0 :(得分:1)

您已将查询定义为对象{}。但是,您在mongo shell中使用的示例具有数组[]

我知道它们“有点”同样的东西,但它们可能值得制作相同的类型。