我编写了一个mongo shell脚本,将聚合结果插入到新集合中;我的问题是将源集合中的空值替换为零;聚合部分是:
db.getCollection("unhcr_pop_concern_flat").aggregate(
[
{
"$group" : {
"_id" : {
"country" : "$country",
"time" : "$time",
"origin": "$origin"
},
"value_fields": {
"$addToSet": {
k: "$type",
v: {$ifNull: ["$value", null]}
}
}
}
},
{ $addFields: { value_fields: { $arrayToObject: "$value_fields" } } }
],
{
"allowDiskUse" : true
}
问题出在哪里?我还使用了$ ifnull运算符。
答案 0 :(得分:0)
查询工作正常;源集合中存在一个问题,其他人更改了数据!