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

MongoのオブジェクトIDを一意の識別子として使用しても大丈夫ですか?もしそうなら、どうすればそれを文字列に変換して文字列で検索できますか?

    新しいObjectIdを作成できます 文字列を使用します。この例では、MongoDBコンソールを使用しています:

    db.users.find({ _id: ObjectId("4cdfb11e1f3c000000007822") })
    

    使用している言語ドライバー(あるとしても)は質問からわかりませんが、ほとんどのドライバーはこの機能もサポートしています。

    ObjectIdを変換しないでください データベース内の文字列と比較してから、別の文字列と比較します。これを行うと、MongoDBは_idを使用できなくなります インデックスを作成すると、すべてのドキュメントをスキャンする必要があるため、クエリのパフォーマンスが低下します。



    1. マングースfindByIdAndDelete/findOneAndRemove削除しない

    2. mongodbでの単一クエリによる複数カウント

    3. Mongo Distinct Aggegation

    4. SpringBootRestControllerでのJackson@JsonIgnoreとの協力MongoDB遅延読み込み