我正在使用Pyramid框架编写一个小型Web应用程序(非常棒),但我无法更新文档。查询具有相同id的文档我没有问题 - 我似乎无法更新它。这是我正在使用的代码:
for key, value in request.POST.iteritems():
if value:
to_insert[key] = value
if "_id" in request.POST:
try:
_id = ObjectId(request.matchdict['id'])
except InvalidId:
return Response("Error generating id")
request.db['concerts'].update(
{ '_id': _id },
{ "$set": to_insert },
upsert=False
)
如果我这样做:
request.db['concerts'].find( {'_id' : _id }
我找到了我想要更新的文档,所以它似乎不是id不存在的问题。它似乎没有向数据库提交任何内容。我能看到的唯一问题是我更新整个文档 - 我不事先检查字段。这是解决这个问题的正确方法吗?我在文档中没有看到更多关于更新不加选择的字段的信息。