gpt4 book ai didi

python - 从 mongo 数组中删除空元素

转载 作者:IT老高 更新时间:2023-10-28 13:18:08 25 4
gpt4 key购买 nike

{
"_id" : 160,
"info" : [
{
'name': 'Serg',
'proff': 'hacker'
},
null,
]
}

如您所见,我的数组中有 null 元素,我需要一个通用的解决方案来从 info 数组中删除 null 元素。

我试过了:

for doc in iter:
people.update({ '_id' : doc['_id']}, { '$pull' : { 'info' : 'null' }})

其中 iter 是文档的集合。 people 是一个集合

我也在 shell 中试过这个:

> db.people.findAndModify({ query: {}, update: {'$pull': {info:null} } } )

但是上面的例子都没有从我的文档中删除这个 null!! ))

最佳答案

这应该适合你。在 python 中,null 被称为 None。

    for doc in iter:
people.update({'_id':doc[id]},{'$pull':{'info':None}})

null object in Python?

同样在 mongo shell 中,这应该可以解决:

    db.people.update({_id:160},{$pull:{info:null}})

如果您希望更新运算符一次更新多个文档,即从多个文档中提取空值,则必须提供 multi:true 选项。因为默认情况下,如果查询arguemnt 留空,即{} 并且未提供mulit:true,则更新运算符将处理它找到的第一个文档

    db.people.update({},{$pull:{info:null}},{multi:true})

关于python - 从 mongo 数组中删除空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14805724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com