如何解决如何从数组内的对象中删除空字符串和数组? MongoDB整合
我想删除文档中的空字符串和空数组。有没有办法使用MongoDB聚合框架做到这一点?这是一个传入文档的示例:
"item": [{
"array_objects":[{
"text": '',"second_text": '',"empty_array": [],"empty_array_2":[],}]
}]
解决方法
如果要投影所有非空字符串或空数组的字段,请使用$filter
您可以尝试以下聚合查询:
db.collection.aggregate([
{
$unwind: "$item"
},{
$unwind: "$item.array_objects"
},{
$project: {
item: {
$arrayToObject: {
$filter: {
input: {
$objectToArray: "$item.array_objects"
},cond: {
$and: [
{
$ne: [
"$$this.v",""
]
},{
$ne: [
"$$this.v",[]
]
}
]
}
}
}
}
}
}
])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。