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

MongoDB-DBRef

    dbref の構文

      { $ref : <collname>, $id : <idvalue>[, $db : <dbname>] }
    

    ただし、dbref内にサポートされていない数量フィールドを追加しました。それが問題です。外に出してください

    db.basket.save ({"_id" : "1", "items" : [
        {"quantity" : 5 , item : {"$ref" : "fruit", "$id" : "1"}},
        {"quantity" : 10, item : {"$ref" : "fruit", "$id" : "3"}}
    ]})
    

    どんなルックス(怖い)

    {
        "_id" : "1",
        "items" : [
            {
                "quantity" : 5,
                "item" : {
                    "$ref" : "fruit",
                    "$id" : "1"
                }
            },
            {
                "quantity" : 10,
                "item" : {
                    "$ref" : "fruit",
                    "$id" : "3"
                }
            }
        ]
    }
    

    しかし、私のアドバイスは、dbrefを完全に捨てて、このような単純な構造を使用することです

    db.basket.save ({"_id" : "1",items:[
                            {item_id:"1",quantity:50},
                            {item_id:"3",quantity:10}
                    ]})
    

    これははるかにクリーンで、次のようになります

    {
        "_id" : "1",
        "items" : [
            {
                "item_id" : "1",
                "quantity" : 50
            },
            {
                "item_id" : "3",
                "quantity" : 10
            }
        ]
    }
    



    1. マシンIPを使用してmongodbに接続できません

    2. EU地域のAWSに地理的に分散したMongoDBクラスター

    3. Node.jsとmongodbでセッション値を保存する方法は?

    4. MongoMapperモデルの設定解除操作が失敗し、モデルからキーを削除/削除できません