Mongodb匹配数组中的项

Mongodb匹配数组中的项,mongodb,Mongodb,我试图在Mongo中查询带有标记数组的数组。 作为文档中的一个示例,下面是我的数据集 { { item: "journal", qty: 25, tags: ["blank", "red"], dim_cm: [ 14, 21 ] }, { item: "notebook", qty: 50, tags: ["red", "blank"], dim_cm: [ 14, 21 ] }, { item: "paper", qty: 100, tags: ["red", "blank

我试图在Mongo中查询带有标记数组的数组。
作为文档中的一个示例,下面是我的数据集

{
   { item: "journal", qty: 25, tags: ["blank", "red"], dim_cm: [ 14, 21 ] },
   { item: "notebook", qty: 50, tags: ["red", "blank"], dim_cm: [ 14, 21 ] },
   { item: "paper", qty: 100, tags: ["red", "blank", "plain"], dim_cm: [ 14, 21 ] },
   { item: "planner", qty: 75, tags: ["blank", "red"], dim_cm: [ 22.85, 30 ] },
   { item: "postcard", qty: 45, tags: ["blue"], dim_cm: [ 10, 15.25 ] }
}
我想用数组
[“red”,“black”]
查询标记,该数组将查找标记包含红色或黑色的结果

我可以这样做,它给我的项目,其中标签是红色和黑色的使用结果
db.inventory.find({tags:{$all:[“red”,“blank”]})


如何将此设置为OR查询?

将$all移动到$OR,它应该可以完成这项工作


也许它会帮助你使用or操作符。这将查找包含黑色或红色标记的文档

db.collection.find({
$or: [
{
  tags: "red"
},
{
  tags: "black"
}
]
});

在这里测试:

可能是这个
db.collection.find({$or:[{tags:“red”},{tags:“black”}])
?嗯
MongoError:unknown operator:$或者
Faraz得到了它(我刚刚开始实际编程,估计它看起来像带有and/or/all/any的sql语句)嗯,它在这里仍然失败
.find({userId:'uzNWm9YF0rZbDkrIyPLKz9owUSO2',tags:{'$or':[{tags:'94hhhqhzrhl4kywyruv'},{tags:'5HYgQEbIKhb36SZNRihM'}}}
未知操作符$orAh,我明白了,$or操作符需要在父级,而不是在标记本身内。