如何在文档中的数组中找到()两个值(Meteor)

时间:2015-08-12 19:07:29

标签: javascript mongodb meteor mongoose

我有一个MongoDB集合,其中包含每个都有一个名为alltags的对象的文档。该对象是一个填充字符串的数组。我知道我可以使用collection.find({alltags:"searchstring"})在文档内的数组中找到一个字符串,但是如何搜索包含两个字符串的对象。

实施例。 collection.find({alltags:"searchstring1", {alltags:"searchstring2"}})

1 个答案:

答案 0 :(得分:0)

使用 $all 运算符查询集合,查找 alltags 字段值为其元素包含 searchstring1 searchstring2

db.collection.find( { "alltags": { "$all": [ "searchstring1", "searchstring1" ] } } )

相当于指定值的 $and 操作;即以下声明:

{ "alltags": { "$all": [ "searchstring1" , "searchstring2" ] } }

与:

相同
{ "$and": [ { "alltags": "searchstring1" }, { "alltags": "searchstring2" } ] }