如果Mongoose数组中包含元素,则查找Mongodb文档

use*_*439 1 arrays mongoose mongodb node.js

如果我在mongodb文档中有一个具有数组的字段,例如:

"tags" : [  "tag", "etc1",  "etc2",  "etc3" ]
Run Code Online (Sandbox Code Playgroud)

如果该文档包含元素“ etc1”,是否可以选择该文档?
如果我尝试使用查询:

db.coll.find({"tags" : { $elemMatch: { value0: 'etc1'} }})
Run Code Online (Sandbox Code Playgroud)

但是我需要知道元素在数组中的位置,我不知道。
我也尝试过:

db.coll.find({"tags" : { $elemMatch: 'etc1' }})
Run Code Online (Sandbox Code Playgroud)

但它必须是一个对象。有什么办法吗?

注意:我正在使用猫鼬,但不确定如何构造查询

Mat*_*tis 5

使用此问题其他问题中所述的$in运算符,如mongodb docs中所述,可以在mongoose中进行访问

有了它,您将获得一个看起来像这样的查询... 请记住,在使用$ in时必须传递一个数组

db.coll.find({"tags" : { $in : ['etc1'] } } );