Получить массив пар ключ / значение из документа в mongodb - PullRequest
1 голос
/ 11 апреля 2020

Я пытаюсь вернуть все пары ключ / значение из документа в виде массива.

Образец Do c:

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

Обязательный вывод:

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

Я пытался использовать оператор $objectToArray, но он не работает для отдельных документов.

1 Ответ

0 голосов
/ 11 апреля 2020

Вы можете попробовать запрос ниже:

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

...