MongoDB聚合框架:单元素或空数组到数字的转换
我想知道使用mongo聚合框架进行此转换的最短、最干净的方法是:MongoDB聚合框架:单元素或空数组到数字的转换,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我想知道使用mongo聚合框架进行此转换的最短、最干净的方法是: { total: [ { value: 200} ] } to { total: 200 } 以及: 也就是说,total应该是value字段的值(数组中始终有一个),或者如果total数组为空,则为零。使用获取第一个数组元素并提供默认值: db.collection.aggregate([ { $project: { total: { $ifNull: [ { $arrayE
{ total: [ { value: 200} ] }
to
{ total: 200 }
以及:
也就是说,total
应该是value
字段的值(数组中始终有一个),或者如果total
数组为空,则为零。使用获取第一个数组元素并提供默认值:
db.collection.aggregate([
{
$project: {
total: { $ifNull: [ { $arrayElemAt: [ "$total.value", 0 ] }, 0 ] }
}
}
])
db.collection.aggregate([
{
$project: {
total: { $ifNull: [ { $arrayElemAt: [ "$total.value", 0 ] }, 0 ] }
}
}
])