Mon goose Возвращает массив из значения объекта в массиве объекта без JS workon - PullRequest
0 голосов
/ 05 марта 2020

Я хочу преобразовать этот массив объекта

 [{ category:"AAA" },{ category:"BBB" },{ category: "CCC" }]

В этот ["AAA","BBB","CCC"]. Я не хочу фильтровать или использовать какую-либо функцию массива в бэкэнде, но из самой mongoDB.

Ответы [ 2 ]

2 голосов
/ 05 марта 2020

db.collection.distinct('category')

должен дать вам массив уникальных значений для этого поля.

0 голосов
/ 05 марта 2020

$ map отображает ключи объекта в массиве в массив значений ключей. Затем используйте $ addFields для преобразования вывода


arr = [{ category:"AAA" },{ category:"BBB" },{ category: "CCC" }];
db.collection.aggregate([
    {
        "$addFields": {
            "exclude": {
                "$map": {
                    "input": "$arr",
                    "as": "el",
                    "in": "$$el.category"
                }
            }
        }
    }
])
...