如何查询数组中的每个元素是否与集合字段匹配

时间:2018-03-24 08:49:25

标签: mongodb

我正在使用mongodb来保存用户信息。该集合中有一个userId字段。我在我的应用程序中获得了许多userIds并保存为数组。我需要查询该数组中的所有userId是否都存在于集合中。如果没有,找出所有遗漏的。是否有一个查询命令可以正常工作?我不想逐个查询userId。那么实现这一目标的更好方法是什么?

用户集合非常简单,如下所示,没有嵌套数据。

userId: String
name: String
gender: String
phone: String

例如,我有一组id [1, 2, 3]。我必须运行三次查询来检查这些是否是匹配三个ID的用户。

1 个答案:

答案 0 :(得分:0)

可以使用$in运算符完成此操作。

示例:

db.users.find( {userId: { $in: [ 1, 2, 3 ] } } );

让用户退出后,您可以在应用程序层中确定哪些用户没有回来。