Mongodb,在 python 中创建更新

Mongodb, create update in python

这是我的 mongodb 对象。我需要为“分级”字段编写更新函数。有时我需要创建这个字段,有时需要更新。

@api_view(['POST'])
def updateGrade(request):
    db = connect_to_db()
    data = json.loads(request.body)
    db.update({ '_id': ObjectId(data["id"])},
       { "$set" : {
            "worksheetSolutions.$[idx]": {"graded": data["status"]}
        } },
        {"arrayFilters":[{"idx":data["answerId"]}]}          
    )
    q = db.find_one({'_id': ObjectId(data["id"])})
    q['_id'] = str(q['_id'])
    return JsonResponse(q, safe=False)

这是我的 python 代码。 (我现在看到的完全不正确)

好的,我花了一些时间才搞定

def updateGrade(request):
    db = connect_to_db()
    data = json.loads(request.body)
    db.update({ '_id': ObjectId(data["id"]), "worksheetSolutions.id": data["answerId"]},
       { "$set" : {
            "worksheetSolutions.$.graded": data["status"]
        } }  
    )
    q = db.find_one({'_id': ObjectId(data["id"])})
    q['_id'] = str(q['_id'])
    return JsonResponse(q, safe=False)