sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB - DBRef

Syntaxe pro dbref je

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

Do dbref jste však přidali nepodporované pole množství. To je problém. vezměte to ven

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

který druh vypadá (děsivě)

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

Ale moje rada je, vynechte dbref úplně a použijte jednoduchou strukturu, jako je tato

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

toto je mnohem čistší, což bude vypadat jako

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



  1. Mongodb – počet položek pomocí addToSet

  2. Multer – jak zacházet se soubory pomocí upload.fields() po odeslání souborů

  3. Jak uložit pouze datovou část s mangustou, nikoli ve formátu ISODate

  4. Jak mohu získat maximální hodnotu ve vnořených dokumentech?