0

MongoDB で Spring Data を使用しています。オブジェクトの挿入や更新などを行うことは可能ですか? MongoTemplate および MongoOperation クラスを使用しています。どうもありがとう!

4

3 に答える 3

1

MongoDBでは、ドキュメントを挿入更新アップサートできます。

MongoDB ドキュメントから:

「アップサートにより、更新または挿入操作を実行する前に、レコードの存在を確認するために別のデータベース呼び出しを実行する必要がなくなります。」

簡単に言えば、これは「このドキュメントがまだ存在しない場合にのみ、作成してください」と考えることができます。

ここの例のように、upsert を true に設定しない限り、upsert は発生しないこと注意してください。

db.collection.update( <query>,
                  <update>,
                  { upsert: true } )
于 2013-02-20T14:40:15.810 に答える
0

また、MySQL/Hibernate/JPA から来た MongoDB も初めてです。Mongoでは、「更新」と「挿入」のようなものはないと私は理解しています。id フィールドがすでに DB にあるものと同じである場合は、更新されます。そうでない場合は、挿入です。

私のコードでは、重複を解決する方法は、自分の ID フィールドに @Id を付けることです。これは、デフォルトで生成された id フィールドの代わりに特定のフィールドを使用する必要があることを Spring Data/MongoDB に伝えます。したがって、同じ ID を使用してエンティティを保存しようとすると、Mongo は単純にそれを上書きします。

于 2013-01-18T20:17:44.300 に答える
-1

Spring データには、mongodb で使用するための完璧なチュートリアルのリストがあります。公式ウェブサイトで見つけることができました

このチュートリアルで Spring Data を使い始めました

于 2013-01-17T13:28:09.360 に答える