Mongodb проектирует одно поле как коллективный массив в одном документе как результат - PullRequest
1 голос
/ 21 апреля 2019

Это данные

[ {
            "_id": "5c75802b1312ca10e63d2ca7",
            "external_user_id": "5cbc86081e06c111f9b16fbf"
        },
        {
            "_id": "5c75a35a3cd9af224c0622c1",
            "external_user_id": "5cbc86081e06c111f9b16fbf"
        },
        {
            "_id": "5c82c3bede451c0fd74e6739",
            "external_user_id": "5cbc86081e06c111f9b16fd5"
        },
        {
            "_id": "5c85432c1a515a17f2d7a2e7",
            "external_user_id": "5cbc86081e06c111f9b16fbc"
        },
        {
            "_id": "5c8e8132bfda140998c2f1c4",
            "external_user_id": "5cbc86081e06c111f9b16fbf"
        }]

Я хочу запрос mongodb о чем-то подобном, который приводит к тому, что разные поля документа приводятся к одному массиву полей в соответствии со следующим запросом:

{
external_user_id: ["5cbc86081e06c111f9b16fbc", "5cbc86081e06c111f9b16fbf", "5cbc86081e06c111f9b16fd5"]
}

1 Ответ

0 голосов
/ 21 апреля 2019

Вы можете использовать ниже агрегации

db.collection.aggregate([
  { "$group": {
    "_id": null,
    "external_user_id": {
      "$addToSet": "$external_user_id"
    }
  }}
])
...