我有一个MongoDB集合,其中包含每个都有一个名为alltags
的对象的文档。该对象是一个填充字符串的数组。我知道我可以使用collection.find({alltags:"searchstring"})
在文档内的数组中找到一个字符串,但是如何搜索包含两个字符串的对象。
实施例。 collection.find({alltags:"searchstring1", {alltags:"searchstring2"}})
答案 0 :(得分:0)
使用 $all
运算符查询集合,查找 alltags
字段值为其元素包含 searchstring1
和 searchstring2
:
db.collection.find( { "alltags": { "$all": [ "searchstring1", "searchstring1" ] } } )
相当于指定值的 $and
操作;即以下声明:
{ "alltags": { "$all": [ "searchstring1" , "searchstring2" ] } }
与:
相同{ "$and": [ { "alltags": "searchstring1" }, { "alltags": "searchstring2" } ] }