So geben Sie das vollständige Dokument in einem MongoDB-Update im Knoten zurück

8

Ich versuche, die Update-Option % co_de zu verwenden % Option in einer MongoDB.

%Vor%

Während es den Wert von result ändert, bekomme ich das Dokument nicht zurück. Stattdessen komme ich zurück:

%Vor%

Gibt es noch etwas, was ich tun sollte, um zu dem aktualisierten Dokument zurückzukehren?

    
doremi 17.06.2014, 17:22
quelle

1 Antwort

11

Verwenden Sie findAndModify :

%Vor%

Die Option new gibt das Dokument aktualisiert zurück, wenn es auf true gesetzt ist. Wenn auf false festgelegt, wird das alte Dokument vor Aktualisierung zurückgegeben.

findAndModify erfordert auch einen sort Parameter. Wenn das Sortieren nicht wichtig ist, dann ist das Sortieren nach _id in Ordnung, aber versuchen Sie, nach etwas Indiziertem zu sortieren.

Die Verwendung von fullResult mit update macht nicht das, was Sie denken. Ich stimme zu, die Dokumente sind ein bisschen verwirrend. Lassen Sie die Node.js-Treiberquelle bei / lib / mongodb / collection / core.js: 568-572

%Vor%

Unabhängig davon, ob fullResult verwendet wird, wird das Objekt result anstelle einer Liste von Dokumenten zurückgegeben. Das result -Objekt ist das, was vom rohen DB-Befehl über db.command zurückgegeben wird. Wenn fullResult verwendet wird, wird das unformatierte Ergebnisobjekt zurückgegeben - aber immer noch keine Dokumente.

    
zamnuts 17.06.2014, 17:27
quelle

Tags und Links