0

これはまったく可能だとは思いませんが、確認したかったのです。

次のドキュメントがある場合:

doc1 : {
  _id: 1,
  name: 'John Smith',
  age: 20
}

doc2 : {
  _id: 2,
  name: 'Jane Smith',
  age: 22
}

クライアントが同じ更新リクエストで両方のドキュメントを渡せるようにしたい. この場合、両方のドキュメントにアドレスを追加してください。

名前の値で両方のドキュメントを更新するように、1 つの update ステートメントを mongo に送信する方法はありますか?

クライアントからの IE:

doc1 : {
  _id: 1,
  name: 'John Smith',
  age: 20,
  address: '123 Street'
}

doc2 : {
  _id: 2,
  name: 'Jane Smith',
  age: 22,
  address: '456 Way'
}

現在、値を繰り返し処理し、一度に 1 つずつ更新しています。問題は、mongoose/mongodb の更新が非同期であるため、すべての更新コールバックが発生するまで、各結果を更新したことをクライアントに確実に伝えることができません。N 個のコールバックを受信して​​から応答を送信することを確認するためのカウンターがあります。

4

1 に答える 1

0

私が行うすべての更新は一度に 1 つずつですが、私にとって良いことは、それらが同期していることです。=)

mongoimport ツールを使用して一括読み込みできるようです: http://docs.mongodb.org/manual/reference/mongoimport/#cmdoption-mongoimport--upsertFields。その方法で一括アップサートを行うことができます。

そうでなければ、クライアント経由で 1 つのコマンドで実行できるとは思えません。

于 2013-03-28T01:54:55.923 に答える