sql >> Database >  >> NoSQL >> MongoDB

Een ingesloten document invoegen in een nieuw veld in mongodb-document

Je kunt het doen met

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

PackSizes kan elk document zijn, met of zonder array.

Uw resultaatdocument wordt

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

Bijgewerkt: Voor het toevoegen van een nieuw veld en een lid aan de array,

Stel dat we uw originele document hebben

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

Stap 1:voeg een nieuw veld toe:PackSizes is een array

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

Stap 2:push nieuw item naar array

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

en je zult hebben

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


  1. Aangepaste cascadering in Spring Data MongoDB

  2. Tel items uit een ander document in mongodb-aggregatie

  3. hoe Excel-bestand (XLSX) te importeren naar mongoDB

  4. 2 manieren om een ​​index zichtbaar te maken in MongoDB