【问题标题】:How to user $in query in mongodb?如何在 mongodb 中使用 $in 查询?
【发布时间】:2019-02-21 00:05:53
【问题描述】:

我想在权限 = 用户时获取记录。

以下是我的收藏:

"_id":ObjectId("59177f050c9db20629f4562"),
"profile":
{
    "permissionGroups" : [
      "Admin",
      "Restaurant",
      "Salesperson",
      "User"
    ]
}

仅在权限为用户的情况下获取。

提前致谢,

【问题讨论】:

标签: mongodb mongoose mongodb-query


【解决方案1】:

我认为$in 不是您要找的。 $in 根据字段查询数组,假设您搜索 permissionsGroup: {$in: ['User', 'Admin']},这将返回所有可以找到 UserAdmin 的记录。

在这种情况下,您只需搜索permissionsGroups: 'User'。 Mongo 足够聪明,可以将permissionGroups 识别为一个数组,并针对该数组中的字段测试给定的值。

【讨论】:

    【解决方案2】:

    首先,访问配置文件 obj 中的 permissionGroups 数组,然后像这样运行一个简单匹配字符串的查询。除非数组中有多个要匹配的字符串,否则不需要运行 $in:

    db.getCollection('collection name').find({"profile.permissionGroups" : "User"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-29
      • 2018-08-18
      • 2022-01-14
      • 1970-01-01
      • 2013-10-10
      • 2014-07-01
      • 1970-01-01
      • 2013-07-07
      相关资源
      最近更新 更多