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