我正在努力连接嵌套字段的值,但无法通过聚合成功
我已经编写了代码来连接数据库中的5个嵌套字段
名为“ level”的集合中的地址字段如下
"address":{
"flatNo" : "101",
"street" : "amprapali",
"city" : "jaipur",
"zip" : "123456",
"state" : "rajasthan",
"country" : "INDIA"
}
我想要什么输出
"address":"#101, amprapali, jaipur, 123456, rajasthan, INDIA"
我的代码:
aggregation_pipeline = [
{
"$project":
{
"address": { "$concat": [ "#", "$address.flatNo", ", ", "$address.street", ", ", "$address.city", ", ", "$address.zip", ", ", "$address.state", ", ", "$address.country" ] }
}
},
{
"$out": "mod_collection"
}
]
cursor = db['level'].aggregate(aggregation_pipeline, allowDiskUse=True)
cursor.close()
我得到了预期的结果,但是如果源数据库中不存在5个字段中的任何一个,则地址字段将填充null
我的要求是合并地址字段的所有现有字段值,并用','分隔
当地址下的所有字段都不存在时,如何忽略null
值?