部分更新 MongoDB 文档 - Mongoengine

问题描述

我想使用 Mongoengine rest 框架在 Django 中更新我的部分 mongodb 文档。但是可悲的是,在更新字典列表中的字典时,文档非常糟糕。这两个选项都不起作用。

示例 MongoDB 文档

{
delivery: "One",sequences: [
    {
        "_id": "503505f14548f73d20ae067a","name": "Sequence_1","name_short_form": "IGI","sequence_number": "050","descriptions": "Description_1","active": true
    },{
        "_id": "191526f14548f73d20ae067a","name": "Sequence_2","name_short_form": "IGP","sequence_number": "060","descriptions": "Description_2","active": true
    }
    ]
}

在 Django 中更新 MongoDB 文档

sequence_id = "191526f14548f73d20ae067a"
# Fields I want to update (only replace given fields)
new_sequence_data = {
        "name": "Sequence_2","name_short_form": "PGP","sequence_number": "070","descriptions": "Description_2_Updated","active": true
    }

# Mongoengine set sequence data (option 1) 
document.update(set__sequences={{"_id": sequence_id},new_sequence_data })

# Mongoengine set sequence data raw (option 2)
document.update(__raw__=({"sequences.id": shot_id},{"$set": { new_sequence_data })

# Save full document
document.save()

return Response(status=status.HTTP_200_OK)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...