在mongoose中查找包含数组元素的Mongodb文档

3
如果我在MongoDB文档中有一个包含数组的字段,例如:

"tags" : [  "tag", "etc1",  "etc2",  "etc3" ]

如果文档中包含元素'etc1',有没有办法可以选择该文档?
如果我尝试使用以下查询:

db.coll.find({"tags" : { $elemMatch: { value0: 'etc1'} }})

但我需要知道数组中元素的位置,而这一点我不了解。
我也尝试过以下方法:

db.coll.find({"tags" : { $elemMatch: 'etc1' }})

但是它需要是一个对象。有没有什么方法可以做到这一点?

注意:我正在使用mongoose,但我不确定如何构建查询。


请不要使用“但如果它需要成为一个对象”这样的陈述。请展示您的真实数据以及您实际想要做什么。更改名称以保护无辜者,但显示您的实际需求。 - Neil Lunn
2个回答

6

3
除了使用$in操作符,您还可以使用$all操作符,例如:
db.col1.find({"tags":{$all :["etc1"]}})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接