1

我正在使用 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 不存在的问题。它似乎没有向数据库提交任何内容。我能看到的唯一问题是我更新了整个文档——我没有事先检查这些字段。这是解决这个问题的正确方法吗?我在文档中没有看到太多关于更新不分青红皂白的字段的内容。

4

0 回答 0