在python/mongoengine中使用pull_all和push_all
我在Mongo有一个对象:在python/mongoengine中使用pull_all和push_all,python,mongodb,mongoengine,Python,Mongodb,Mongoengine,我在Mongo有一个对象: mystuff = ListField(ReferenceField(Asset, dbref=True)) 我有一个Python方法,它应该更新Mongo对象,用给定的值在其mystuff Listfield值前面加上前缀。因为Mongoengine还没有办法将对象插入列表中的某个点(并且必须添加此函数),所以我尝试: 将当前列表的内容保存到临时变量(oldlist) 更新DB条目,使用“pull_all”修饰符清空mystuff列表(这是的一部分) 再次更新数据
mystuff = ListField(ReferenceField(Asset, dbref=True))
我有一个Python方法,它应该更新Mongo对象,用给定的值在其mystuff Listfield值前面加上前缀。因为Mongoengine还没有办法将对象插入列表中的某个点(并且必须添加此函数),所以我尝试:
oldlist
然而,我认为您最好的选择可能是使用检索整个文档,修改客户机代码中的mystuff字段,然后使用
正如您所注意到的,用于就地更新文档的工具是有限的。将获取要从列表中拉出的元素列表。在你的情况下,我相信这将是oldlist
然而,我认为您最好的选择可能是使用检索整个文档,修改客户机代码中的mystuff字段,然后使用
正如您所指出的,用于就地更新文档的工具是有限的