【问题标题】:Get array of key/value pairs from document in mongodb从 mongodb 中的文档中获取键/值对数组
【发布时间】:2020-04-11 01:43:29
【问题描述】:

我正在尝试将文档中的所有键/值对作为数组返回。

示例文档:

{key:"value", key2:"value2", key3:"value3"}

所需输出:

[{key:"value"},{key2:"value2"},{ key3:"value3"}]

我尝试使用 $objectToArray 运算符,但它不适用于单个文档。

【问题讨论】:

    标签: mongodb mongodb-query aggregation-framework


    【解决方案1】:

    您可以尝试以下查询:

    db.collection.aggregate([
      {
        $project: {
          _id: 0,
          data: {
            $map: {
              input: { $objectToArray: "$$ROOT" },/** Convert object to array & iterate on each object */
              in: {
              /** Consider each object (k:...,v:...) as an array &
                  convert back to actual object (k:v) & push to 'data' array field */
                $arrayToObject: [
                  [
                    "$$this"
                  ]
                ]
              }
            }
          }
        }
      }
    ])
    

    测试: MongoDB-Playground

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-09
      • 2016-03-09
      • 2021-06-26
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多