0

Mongo DB にユーザー ドキュメントがあり、_id フィールドを userID フィールドとして使用してインクリメントしたいと考えています。
Mongo ドキュメント (http://www.mongodb.org/display/DOCS/Object+IDs) で counter("user") JS メソッドを見つけました。

Mongo Shell から呼び出すことができます。

db.user.insert({_id:counter("user"), name:"tom"...});

さて、Javaコードから同じコマンドを使用するにはどうすればよいですか? Java コードから Javascript 関数を指定する方法が見つかりません。
また、findAndModify コマンドと $inc の使用法を見ましたが、機能させることができませんでした。このようにして、JS カウンター関数を呼び出さずに実行できると思います。

Mongo の Object Id の代わりに _id フィールドでカスタム値を使用すると、どのような影響がありますか?
〜ビッシュ

4

1 に答える 1

0

TL; DR:ObjectIdsを使用するだけです

そのような新しいObjectIdを生成することはほとんど意味がありません。新しいオブジェクトごとに新しいObjectIdを作成する必要があります。それは簡単で、優れたグローバルな一意性の保証を提供します。

データベースから自分自身を抽象化するためにこれを行っている場合、それは機能しません。MongoDBは非常に特殊なデータベースです。抽象化は、mongoをK / Vストアとしてのみ使用する場合に可能です(memcachedと考えてくださいが、低速です)が、この機能を備えたより優れた製品があります。

于 2012-07-30T06:26:54.050 に答える