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 代码。 (我现在看到的完全不正确)
- data.id => _id
- data.answerId => 答案编号
- data.status => true/false 变量
好的,我花了一些时间才搞定
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)
这是我的 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 代码。 (我现在看到的完全不正确)
- data.id => _id
- data.answerId => 答案编号
- data.status => true/false 变量
好的,我花了一些时间才搞定
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)