0

假设如下架构:

class DocA(Document):
    owner = ReferenceField(User)
    strings = ListField(StringField)

如果我想检查登录用户是否是所有者,然后将一个新字符串添加到 stringlist,我目前必须访问数据库两次:

if self.has_perm(DocA.objects(id=someid).only('owner').first()):
    DocA.objects(id=someid).update_one(push__strings="New String")

有一个更好的方法吗?

4

1 回答 1

1

Given has perm 只是检查所有者,您可以在单个查询中执行此操作:

DocA.objects(id=someid, user=logged_in_user).update_one(push__strings="New String")
于 2013-07-03T13:11:12.717 回答