获取数组 mongodb 和 return 中的特定字段作为数组
Get specific field in array mongodb and return as array
我有以下文件:
{
array: [
{
type: 'error',
data: 1
},
{
type: 'error',
data: 2
}
]
}
我是否可以只获取每个数组元素中的数据字段并将其 return 作为数组?像下面这样:
[1, 2] // <--- array containing only the data fields
mongodb projection documentation 好像没有涵盖这个?
您可以使用聚合和 $map
运算符。
db.collection.aggregate([
{
"$project": { "_id": 0, "data": {
"$map": { "input": "$array", "as": "ar", "in": "$$ar.data" } } }
}
])
产生:
{ "data" : [ 1, 2 ] }
我有以下文件:
{
array: [
{
type: 'error',
data: 1
},
{
type: 'error',
data: 2
}
]
}
我是否可以只获取每个数组元素中的数据字段并将其 return 作为数组?像下面这样:
[1, 2] // <--- array containing only the data fields
mongodb projection documentation 好像没有涵盖这个?
您可以使用聚合和 $map
运算符。
db.collection.aggregate([
{
"$project": { "_id": 0, "data": {
"$map": { "input": "$array", "as": "ar", "in": "$$ar.data" } } }
}
])
产生:
{ "data" : [ 1, 2 ] }