Aktualisieren Sie das eingebettete Objekt innerhalb des Arrays innerhalb des Arrays in MongoDB

8

Ich habe Dokumente wie

%Vor%

Ich kann nicht $set spell's level : 3 mit spell_id : 1 innerhalb spells das in heros mit Nickname "test. Ich habe diese Abfrage versucht:

%Vor%

Errror ich sehe ist

  

kann nicht an ein Array angehängt werden, indem der Name des Zeichenfolgenfelds verwendet wird [Sprüche]   Danke für die Hilfe.

    
Denis Ermolin 05.05.2012, 20:45
quelle

2 Antworten

9

Sie können den Positionsoperator $ nur für Arrays mit einer Ebene verwenden. In Ihrem Fall haben Sie ein verschachteltes Array ( heros ist ein Array und innerhalb dieses Helden hat jedes% code_% Array).

Wenn Sie die Indizes der Arrays kennen, können Sie bei einer Aktualisierung explizite Indizes verwenden, wie zum Beispiel:

%Vor%     
dcrosta 07.05.2012, 16:08
quelle
1

Versuchen Sie etwas wie folgt:

%Vor%

Offenbar hat jemand ein Ticket geöffnet, um die Möglichkeit hinzuzufügen, eine Funktion in die update-Klausel einzufügen, aber es wurde noch nicht adressiert: Ссылка

    
McGarnagle 05.05.2012 20:58
quelle

Tags und Links