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'))