2

これら 2 つのメソッドはどちらも BasicDbObject をコレクション インスタンスに保存しているように見えます。これら 2 つのメソッドの違いは何ですか? com.mongodb.DBCollection.Insert() com.mongodb.DBCollection.Save()

4

3 に答える 3

10

保存では、一度に 1 つのオブジェクトしか保存できません。_id が指定され、それが既に存在する場合、新しいドキュメントは既存のドキュメントを上書きします。存在しない場合は、挿入を行います。

Insert は、単一のオブジェクトまたはオブジェクトの ArrayList を取り、それらの「一括挿入」を実行できます。

挿入に既存の _id を指定すると、ID の重複例外が発生します。

于 2012-07-30T10:00:14.710 に答える
3

.insertは挿入専用ですが、.save挿入または更新を行うことができます。

com.mongodb.DBCollection.Save

オブジェクトをこのコレクションに保存します (オブジェクト _id に基づいて挿入または更新します)。

于 2012-07-30T08:21:45.217 に答える
0

ドキュメントに_idが設定されている場合、保存は挿入または更新のいずれかであり、挿入は挿入のみを行います。

詳細については、こちらをご覧ください: http://www.mongodb.org/display/DOCS/Updating/#Updating- {{save%28%29}}inthemongoshell

于 2012-07-30T08:21:08.480 に答える