繁体   English   中英

如何进行 mongo 查询以查找数组包含给定 id 的所有文档?

[英]How to make a mongo query to find all documents where an array contains a given id?

我不确定我做错了什么。 我有一个用户集合,其中有一个字段“followingUsers”(数组)。 该数组包含其他用户的 ID。 当用户被删除时,我希望每个其他用户文档不再在其 followUsers 数组中引用已删除的用户。 我对 mongo 没有经验,所以我决定先进行查找查询,但每次尝试都会返回一个空结果。

我写了以下查询,但似乎都不起作用:

db.users.find({"followingUsers": "63d0522c655fa263cfe003e7"})
db.users.find({"followingUsers": {"$all": ["63d0522c655fa263cfe003e7"] } } )

在图像中你可以看到我希望得到的数据: Data i expect to get back

我究竟做错了什么?

在昵称 ray 的用户的帮助下,我找到了正确的查询:

db.users.find( {'followingUsers': ObjectId("63cff74e3ae933124ee20d05")}  )
db.users.find( {'followingUsers': {"$all":[ ObjectId("63cff74e3ae933124ee20d05") ] }}  )

我确实将 ObjectId 存储在数组中,而不仅仅是字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM