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

Vložte vložený dokument do nového pole v dokumentu mongodb

Můžete to udělat pomocí

db.test.update(
   { _id : 133 },
   { $set : { PackSizes:  {_id: 123, PackSizeName:"xyz", UnitName:"pqr"}} }
)

PackSizes může být jakýkoli dokument, s polem nebo bez něj.

Váš výsledný dokument bude

{
    "_id" : 133,
    "Name" : "abc",
    "Price" : 20,
    "PackSizes" : {
        "_id" : 123,
        "PackSizeName" : "xyz",
        "UnitName" : "pqr"
    }
}

Aktualizováno: Pro přidání nového pole a člena do pole

Předpokládejme, že máme váš původní dokument

{
   _id: 133,
   Name: "abc",
   Price: 20
}

Krok 1:přidejte nové pole:PackSizes je pole

db.test.update(
   { _id : 133 },
   { $set : {PackSizes: [ {_id: 123, PackSizeName:"xyz", UnitName:"pqr"}]}}
)

Krok 2:Přesuňte novou položku do pole

db.test.update(
   { _id : 133 },
   { $push : { PackSizes: {_id: 124, PackSizeName:"xyz", UnitName:"pqr"}} }
)

a budete mít

{
    "_id" : 133,
    "Name" : "abc",
    "Price" : 20,
    "PackSizes" : [ 
        {
            "_id" : 123,
            "PackSizeName" : "xyz",
            "UnitName" : "pqr"
        }, 
        {
            "_id" : 124,
            "PackSizeName" : "xyz",
            "UnitName" : "pqr"
        }
    ]
}


  1. Základy automatizace databáze MongoDB pomocí Chef

  2. MongoDB $toInt

  3. Pokud je Mongo $lookup levé vnější spojení, jak to, že vylučuje neodpovídající dokumenty?

  4. java spring MappingJacksonJsonView neprovádí toString na Mongodb ObjectId