为什么这个Pymongo更新不起作用?

时间:2012-07-19 01:32:06

标签: python mongodb pyramid pymongo

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

0 个答案:

没有答案