sql >> データベース >  >> NoSQL >> MongoDB

条件付きで複数の行を更新する

    ワンステップでそれを行う方法はありません。探しているものに最も近い操作は、saveAllです。 関数。 JSAPIリファレンス

    説明は次のとおりです:

    使用例:

    Parse.Object.saveAll([object1, object2, ...], {
      success: function(list) {
        // All the objects were saved.
      },
      error: function(error) {
        // An error occurred while saving one of the objects.
      },
    });
    

    この操作では、オブジェクトをクエリし、オブジェクトを反復処理して値を更新してから、saveAllを呼び出す必要があります。 更新されたオブジェクトのリストにあります。

    saveAllに関して少し混乱がありました 操作-特に、使用するAPIリクエストの数。これは不確かなことに、ParseがAPIリクエストの請求方法を変更し、この操作でかつて真実だったことがもはやなくなったという事実によるものです。

    Perこのリンク

    これはもはや真実ではありません 。 2014年4月、Parseは料金モデルを1秒あたりのリクエスト数に変更しました。 メトリックですが、その年の後半に解析しますまた 開発者がバッチ操作を悪用し始めてから、バッチAPIリクエストのカウント方法を変更しました。

    これは、この問題に関する公式の解析ステートメントの抜粋です

    saveAllを使用する 今日の操作では、リスト内のオブジェクトごとに1つのAPIリクエストが発生し、効果的にsaveが呼び出されます。 個々のオブジェクトごとに。

    現在、変更された各オブジェクトに対してsaveを呼び出す必要を回避する方法はありません。うまくいけば、これはParseが将来追加することを検討するものです。




    1. Mac for MongoDB用の優れたデータベース管理アプリはありますか? Sequel Proに似ていますか?

    2. クエリmongo:コレクションのすべてのドキュメントで配列の数を検索します

    3. テキストインデックスMongodbの動的文字列と正確なフレーズを一致させる方法は?

    4. MongoDBネストされたオブジェクトの被写界深度の制限