【问题标题】:How to assign dynamic key on $match aggregate mongodb?如何在 $match 聚合 mongodb 上分配动态键?
【发布时间】:2020-08-13 13:18:46
【问题描述】:

我想根据我在下面给出的条件动态分配 $match 的键:

let memberField = filter == "Agent" ? "user" : "admin";  // memberField = "user"
  
db.aggregate(
            [
              {
                $match: {
                  memberField: "12345"
                }
              }
            ]
          )

这里我没有得到空的响应。

但是,如果我将硬编码密钥传递给 $match,如下所示:

db.aggregate(
        [
          {
            $match: {
              user: "12345"
            }
          }
        ]
      )

这里我得到了相应的结果。

那么如何传递动态密钥呢?

【问题讨论】:

    标签: javascript node.js mongodb aggregation-framework aggregate


    【解决方案1】:

    看看Computed property names

    db.aggregate([
      {
        $match: {
          [memberField]: "12345"
        }
      }
    ])
    

    【讨论】:

    • @harshadkapei 没问题。如果它解决了您的问题,请点击勾选接受答案,获得那些互联网积分! :)
    • 如果这个问题对开发者社区有帮助,那么请点击向上箭头接受这个问题。
    猜你喜欢
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2022-07-09
    • 2015-12-28
    相关资源
    最近更新 更多