在文档中查找数组中的元素
我是新来的MongoDB / Mongoose,我试图find他们的usersInvited
数组包含一个特定的UID
所有文件。
例如:searchUID=123
这个集合应该返回id1
, id2
[ { "_id": "id1", "usersInvited": [ { "UID": "123" } ] }, { "_id": "id2", "usersInvited": [ { "UID": "123" } ] }, { "_id": "id3", "usersInvited": [ { "UID": "abc" } ] } ]
你可以使用$elemMatch
这个:
db.myCollection.find({ usersInvited: { $elemMatch: { UID: "123" } } })
https://docs.mongodb.org/v3.0/reference/method/db.collection.find/#query-an-array-of-documents
您可以使用点符号直接查询usersInvited
数组元素中的UID
字段:
MyModel.find({'usersInvited.UID': '123'}, (err, docs) => {...});
如果数组中的任何元素具有'123'
的UID
值,则将包括该文档。
var query = FriendHittups.find({ usersInvited: { $elemMatch: { "UID": "123" } } }); query.exec(function (err, results){ });