2

私はこのコードを使用して、データベースに新しいユーザーを挿入(または既存の場合は更新)しています。

   emailAddress = self.request.params.get('emailaddress')
    googleRefreshToken = self.request.params.get('googlerefreshtoken')

    # upsert new user
    postData = {"emailAddress" : emailAddress,
        "googleRefreshToken" : googleRefreshToken}
    newPost = self.request.db.users.update( { 'emailAddress' : emailAddress }, postData, True );


    return json.dumps( newPost, default=json_util.default)

update()はobjects _idまたはオブジェクト自体を返す必要があると思いますが、アップサートが正しく機能していても、常にnullを返します。nullを返すのはなぜですか?また、_idまたはオブジェクト自体を返すようにするにはどうすればよいですか?

4

1 に答える 1

10

ドキュメントで説明されているようにsafe=True、パラメータにを含めると、へupdateの応答lastErrorが返されます。それ以外の場合は、が返されますNone。ドキュメントのを更新する場合_idは、個別にクエリを実行するか、find_and_modifyの代わりにを使用する必要がありupdateます。

于 2012-06-10T16:14:50.280 に答える