如果在 mongoengine 中为空则更新字段
Update field if is null in mongoengine
我需要更新文档的某个字段,如果这样的字段是 None
,但如果这样的字段有值,我不想覆盖它。
现在我正在做以下事情:
p = Person.objects(name="Foo").first()
if p.address is None:
p.update(set__address="Bar Street, NY")
但这不是原子操作。
我想做的是:
Person.objects(name="Foo").update_one(set__address_if_none="Bar Street, NY")
但我似乎无法在网上找到任何相关信息。
有没有类似的东西,或者我可以用不同的方式实现它?
是这样的吗?
Person.objects(name="Foo", address=None).update(set__address="Bar Street, NY")
尽管据我所知这 也不是 原子的。我的意思是它在单个文档上是原子的,但在集合上不是。要成为真正的原子,您需要一个 Mongo seems to support now.
的交易
我需要更新文档的某个字段,如果这样的字段是 None
,但如果这样的字段有值,我不想覆盖它。
现在我正在做以下事情:
p = Person.objects(name="Foo").first()
if p.address is None:
p.update(set__address="Bar Street, NY")
但这不是原子操作。
我想做的是:
Person.objects(name="Foo").update_one(set__address_if_none="Bar Street, NY")
但我似乎无法在网上找到任何相关信息。
有没有类似的东西,或者我可以用不同的方式实现它?
是这样的吗?
Person.objects(name="Foo", address=None).update(set__address="Bar Street, NY")
尽管据我所知这 也不是 原子的。我的意思是它在单个文档上是原子的,但在集合上不是。要成为真正的原子,您需要一个 Mongo seems to support now.
的交易