我正在用Python构建MongoDB支持的API。我收到了一系列的文件和其他几个ID。结构如下:
{
a_id: ObjectId("..."),
b_id: ObjectId("..."),
all_items: [
{item_id: ObjectId("..."), other_val: "I am other value"},
{item_id: ObjectId("..."), other_val: "I am another value"},
...
]
}
我只想做的是:根据a_id, b_id & item_id
值在集合中增加插入。因此,数据将按照以下方式在集合中进行结构化:
{
a_id: ObjectId("..."),
b_id: ObjectId("..."),
item_id: ObjectId("..."),
other_val: "..."
}
因此,如果存在与a_id, b_id & item_id
匹配的文档,则将更新,否则将插入。你知道吗
我需要为每个upsert遍历整个all_items
数组吗?请告知。你知道吗
您不必在数组中循环;您可以将filter()与lambda expression结合使用,然后将其与其他条件结合使用:
编辑:代码示例已更新
提供:
相关问题 更多 >
编程相关推荐