2016-05-05 8 views
1

ich einen Artikel mit dem Array von Elementen drücken mag (Root-Dokument> Kategorien> Unterkategorien> Artikel)Update Element der Anordnung von Array in mongodb

I NodeJS mit MongoDB npm Paket

Mein Dokument bin mit Struktur wie die folgende sein sollte

{ 
    "_id": "572a77641b24ed3404f43690" 
    "categories": [ 
     { 
      "id": "572bbac072d7ee3026a69467" 
      "Name": "Foods", 
      "subcategories": [ 
       { 
        "id": "572a777c1b24ed3404f43691", 
        "Name": "Pizza" 
        "items": [ 
         { 
          "id": "572ba1666ca263303121acd4" 
          "Name": "4 Seasons", 
          "Price": "6.0" 
         } 
        ] 
       } 
      ] 
     } 
    ] 
} 

Mein aktueller Code ist

app.post("/item/:subcatid", function(req, res) { 
    var subId = req.params.subcatid; 
    var item = req.body; 

    item.id = new ObjectId(); 

    items.update({ "categories.subcategories.id": ObjectId(subId) }, { $push: { "categories.0.subcategories.$.items": item } }, function(err, result) { 
     res.send(result); 
    }); 
}); 

Wh Kann ich es tun?

+0

tatsächlich das funktioniert aber es wird die erste Kategorie aktualisieren, es wird nicht hilfreich sein, wenn ich eine bestimmte Kategorie aktualisieren möchte, geht es immer zum allerersten! –

Antwort

0

Nur eine Lösung gefunden, nicht sauber aber funktioniert aber richtig!

Verwandte Themen