Python 根据mongo中的多个字段的存在情况更新它们
我正在尝试将所选字段从集合“a”复制到集合“b”。 我想根据a中是否存在字段,在b上设置多个字段。 i、 e如果“a”中不存在该字段;那么我不想把它设为“b” 这就是我正在尝试的Python 根据mongo中的多个字段的存在情况更新它们,python,mongodb,pymongo,Python,Mongodb,Pymongo,我正在尝试将所选字段从集合“a”复制到集合“b”。 我想根据a中是否存在字段,在b上设置多个字段。 i、 e如果“a”中不存在该字段;那么我不想把它设为“b” 这就是我正在尝试的 b.update_one( {"_id": xyz}, {"$set": {"name": a['name'], "lastname": a.get('lastname', None)}}) 如果lastname不
b.update_one(
{"_id": xyz},
{"$set": {"name": a['name'],
"lastname": a.get('lastname', None)}})
如果lastname不存在,我就不知道了。
如果“a”中没有lastname,我根本不希望更新lastname。
除了使用两个set语句外,还有其他选择吗?事先准备更新定义。例如,假设
a
具有以下值:
a = {
'name': 'John'
}
然后定义更新,使其仅包含您感兴趣的a
中的字段(以及a
中的字段):
现在执行更新:
b.update_one(
{"_id": xyz},
{"$set": update}
)
b.update_one(
{"_id": xyz},
{"$set": update}
)