![](/img/trans.png)
[英]MongoDB - Find document in which array contains any items in query array
[英]Find a Mongodb document if it contains an element in the array in mongoose
如果我在mongodb文档中有一个具有数组的字段,例如:
"tags" : [ "tag", "etc1", "etc2", "etc3" ]
如果该文档包含元素“ etc1”,是否可以选择该文档?
如果我尝试使用查询:
db.coll.find({"tags" : { $elemMatch: { value0: 'etc1'} }})
但是我需要知道元素在数组中的位置,我不知道。
我也尝试过:
db.coll.find({"tags" : { $elemMatch: 'etc1' }})
但它必须是一个对象。 有什么办法吗?
注意:我正在使用猫鼬,但不确定如何构造查询
使用$in
运算符,如本问题或其他问题中所述,以及mongodb文档中所述 ,可以在mongoose中进行访问 。
有了它,您将得到一个看起来像这样的查询... 请记住,在使用$ in时必须传递一个数组 :
db.coll.find({"tags" : { $in : ['etc1'] } } );
除了使用$ in运算符,您还可以使用$ all运算符,例如:
db.col1.find({"tags":{$all :["etc1"]}})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.