Javascript Mongoose从没有JS workon的对象数组中的对象值返回数组

Javascript Mongoose从没有JS workon的对象数组中的对象值返回数组,javascript,arrays,mongodb,mongoose,aggregation-framework,Javascript,Arrays,Mongodb,Mongoose,Aggregation Framework,我想转换这个对象数组 [{ category:"AAA" },{ category:"BBB" },{ category: "CCC" }] 进入这个 [“AAA”、“BBB”、“CCC”]。我不想在后端过滤或使用任何数组函数,只想从mongoDB本身进行过滤或使用。db.collection.distinct('category') 应该为该字段提供一个唯一值数组。db.collection.distinct('category') 应该为该字段提供一个唯一值数组。$map将数组中的对象键

我想转换这个对象数组

 [{ category:"AAA" },{ category:"BBB" },{ category: "CCC" }]
进入这个
[“AAA”、“BBB”、“CCC”]
。我不想在后端过滤或使用任何数组函数,只想从mongoDB本身进行过滤或使用。

db.collection.distinct('category')


应该为该字段提供一个唯一值数组。

db.collection.distinct('category')


应该为该字段提供一个唯一值数组。

$map将数组中的对象键映射到键值数组。然后使用$addFields转换输出


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

$map将数组中的对象键映射到键值数组。然后使用$addFields转换输出


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

您是否尝试过这样的操作:Group.find({program:{$in:[…]}).lean().select('category')您是否尝试过这样的操作:Group.find({program:{$in:[…]}).lean().select('category'))