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

ObjectIdとその文字列形式をMongoDBに保存することの違い

    私は個人的にあなたのコードを非難します。正しい方法でコーディングすることで、アプリケーションでこれを完全に回避できます。比較するためにコード内の文字列に変換し、ObjectIdのように見えるものを確認します 実際にはObjectIdとして使用されます 。

    ObjectIdの間で注意するのは良いことです (http://docs.mongodb.org/manual/reference/object-id/)そしてそれは16進表現であり、実際には12バイトの違いがあります。ObjectId 12バイトであり、16進表現は24です。

    ストレージ効率だけでなく、インデックスについても重要です。小さいからだけでなく、ObjectId インデックスの一部のみがロードされるようにするために、特別な方法で使用できます。使用される部品。これは、一意性を確保するためにそのインデックスの最新部分のみをロードする必要がある挿入時に最も顕著になります。 16進表現では、このような動作を保証することはできません。

    OjbectIdは使用しないことを強くお勧めします の16進表現。 「生活を楽にしたい」場合は、別の_idを作成することをお勧めします。 これは小さいですが、どういうわけか同じようにユニークでインデックスに優しいです。



    1. HBaseパフォーマンスCDH5(HBase1)とCDH6(HBase2)

    2. node.jsはオブジェクトをredisに保存します

    3. mongo:リターンはcount()と等しくありません

    4. Redisに代わる埋め込み可能なJavaはありますか?