Mongoengine update_one不能用于连续更新

时间:2015-05-22 15:11:03

标签: python mongodb mongoengine

我有以下代码负责将两个新密钥cashback和cashtoken添加到mongodb对象。我正在使用mongoengine和python。

    mainuser = UserData.objects.get(username = userid)
    mainuser.save()
    result={}

    cashback = mainuser['cashback']
    if cashback is None:
            cashback = "20"
            UserData.objects(username = userid).update_one(set__cashback=cashback)
            mainuser.reload()
    result['cashback']=cashback

    cashtoken = mainuser['cashtoken']
    if cashtoken is None:
            temptoken = os.urandom(10)
            cashtoken = str(temptoken)
            UserData.objects(username=userid).update_one(set__cashtoken=cashtoken)
            mainuser.reload()

当我为update_one执行cashback时,代码有效。但是当我还包含update_one的{​​{1}}代码时,它会给我一个错误

  

KeyError:'cashtoken'

我做错了什么?请帮忙。

我使用的是python 2.7和mongoengine 0.8.7

0 个答案:

没有答案