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

Sailsでアプリを作成しているときにMongodbのオブジェクトIDを上書きする方法

    注意 :Mongo IDは、可能な限り一意である必要があります うまくスケーリングするために。デフォルトの ObjectId タイムスタンプ、マシンID、プロセスID、およびランダムな増分値で構成されます。後者だけを残しておくと、衝突しやすくなります。

    ただし、終わりのないObjectID値を不適切に見せたい場合があります(つまり、エンコーディング の後にURLに表示されます。 )。次に、適切なアトミックインクリメント戦略の使用を検討する必要があります 。

    オーバーライド _idの例:

    db.testSOF.insert({_id:"myUniqueValue", a:1, b:1})
    

    自動インクリメントシーケンス を作成する :

    • カウンタコレクションを使用する :基本的に、シーケンスの最後の番号を追跡する分離されたコレクション。個人的には、findAndModify関数をsystem.jsコレクションに保存する方がまとまりがありますが、不足 バージョン管理の機能。
    • オプティミスティックループ

    編集:

    問題 を見つけました 帆の所有者-mongoは言った:

    彼は、私がこの回答で追加した最初の手法について言及しています。カウンターコレクションを使用する 。同じ号で、 lewins 回避策を示しています。




    1. ネストされたドキュメントでMongoDbTTLは可能ですか?

    2. マングースモデルupdate()とsave()

    3. mongodbが起動していて、bashスクリプトからの接続を受け入れる準備ができているかどうかを確認する方法は?

    4. MongoDB全文検索とLucene?