我在 mongoose 中有一个查询返回这个:
{
some_keys: "some values",
objs:[
{name:"name1"},
{name:"name2"}
]
}
我想以这种格式返回:
{
some_keys: "some values",
objs:[
"name1",
"name2"
]
}
最佳答案
使用 $map
运算符循环遍历 objs
数组,并只返回每个 obj
的 name
的值。
试试这个:
const result = await testSchema.aggregate([
{
$addFields: {
objs: {
$map: {
input: "$objs",
as: "obj",
in: "$$obj.name"
}
}
}
}
]);
输出
{
"_id" : ObjectId("..."),
"some_keys" : "some values",
"objs" : [
"name1",
"name2"
]
}
关于javascript - 如何使用 Mongoose 从字符串数组中的对象数组返回字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66684954/