向现有文档添加新属性

时间:2018-10-03 02:09:13

标签: python-3.x mongodb mongoengine

如何使用mongoengine向集合中的所有文档添加属性? 我尝试了几种方法:

row

这不会出现任何错误,但不会在文档中添加新属性。

我也尝试过

for d in MyDocuments.objects:
    d.attr = 'test'
    d.save()

这给出了MyDocuments.objects.all().update(set__attr='test')

我尝试时会发生相同的错误

InvalidQueryError: Cannot resolve field "attr"

具体地说,我正在尝试添加for d in MyDocuments.objects: d.update(set__attr='test') 属性,因为我启用了继承,并且数据库中已经有一些不具有该属性的对象。

1 个答案:

答案 0 :(得分:0)

最后这对我有用:

MyDocuments._get_collection().update_many({}, {'$set': {'_cls': 'MyDocuments.TTR'}})