あなたは既存のIDを(は、既存のデータがセットから言う)がある場合、それはあなたが持っているものと_id
を上書きすることは完全にOKです。
... keeo _idそのままそれがデフォルトで_id
フィールドインデックスなど
MongoDBのインデックスを助けるよう。 _id
フィールドに整数を入れ始めると、他のすべてのものと同じようにインデックスされます。
したがって、ほとんどのRDBMは「自動インクリメント」IDを提供します。これは小さなデータセットには適していますが、スケーラビリティの点では非常に劣ります。一度に20台のサーバーにデータを挿入しようとしている場合、どのように「自動インクリメント」をそのまま維持しますか?
通常の答えは、そうではないということです。代わりに、それらのIDのGUIDのようなものを使用することになります。 MongoDBの場合は、既にObjectId
が提供されています。 1だからここでの問題は、IDを「覚えやすい」はないということですキー
を覚えてフレンドリーかつ簡単に、よりURLとしてモンゴのObjectIDを使用できるように、私は任意のより良い戦略に疑問を抱いた
実際には「高度にスケーラブルなデータベース」と絡み合います。 10億の文書があるとき、IDは本当に「覚えやすい」わけではありません。
ここではトレードオフを行う必要があります。本当に大きなテーブルがある場合は、ObjectIdを使用することをお勧めします。テーブルが比較的小さく、頻繁に更新されない場合(「ルックアップ」テーブルのように)、独自の自動インクリメントを構築することができます。
あなたの選択は本当にあなた次第です。
http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-SequenceNumbers – bsr
伝統的なデータベースでは、主キーの単調増加シーケンス番号が使用されることがよくあります。 MongoDBでは、代わりにオブジェクトIDを使用することをお勧めします。オブジェクトIDは、シャーディングおよび配布とより相乗的です。 – bsr
私はそれがいくつかの利点を奪うと思うし、また、インデックスとソートのためかもしれません – bsr