$ all mongodb节点js

我正在使用mongodb和node JS实现关键字search,但是我发现在Mongo中存在运算符$ all,用于select字段包含所有元素的文档。

这是我的节点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中起作用

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

而奇怪的是'$ in'而不是'$ all',但是使用'$ all'来实现精确的search会是有用的

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

我知道他们是“一样的”,但是这可能是值得的。