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

mongodb-文字列またはObjectIdを使用してDBRefを構築します

    唯一の違いは、実際にはObjectIdであるということです。 もう1つは、ObjectIdのように見える文字列表現です。 。

    ObjectIdとしてのDBRef:

    db.persons.insert({name: 'cavin', 
         sister: new DBRef('persons', 
             new ObjectId('5165419064fada69cef33ea2'))}) // use an ObjectId
    

    文字列としてのDBRef:

    db.persons.insert({name: 'bob', 
         sister: new DBRef('persons', 
            '5165419064fada69cef33ea2')}) // use a string
    

    含めた例では、ObjectId 形式は、文字列表現に必要な24バイトではなく、12バイトの値であるため、より効率的なストレージになる可能性があります。 DBRefを使用したい場合 s、ObjectIdを使用します 参照されるコレクションがObjectIdを使用している場合 s _idの場合 。

    ObjectIdを使用する必要はありません DBRef 。キーを表す任意の値にすることができます(_id )関連するコレクション/DBの。

    ドキュメント として DBRefを使用するやむを得ない理由がない限り、 、代わりに手動参照を使用してください。



    1. MongoDBドキュメントからフィールドを削除する方法($ unset)

    2. 複数の$condでクエリをグループ化する方法は?

    3. C#を使用して特定のドキュメントMongodbにフィールドが存在するかどうかを確認する方法は?

    4. 論理バックアップを使用してMongoDBで特定のコレクションを復元する方法