Anzahl der aktualisierten Dokumente mongo erhalten

8

Gibt es in Mongo eine Funktion, um die Anzahl der Dokumente, die in einer Update-Anweisung aktualisiert wurden, zurückzugeben?

Ich habe versucht, count() zu verwenden, aber anscheinend gibt die update-Anweisung nur wahr oder falsch zurück, so denke ich, dass ich die Anzahl einer Zeichenkette erhalte.

Danke

    
K2xL 15.11.2011, 20:12
quelle

1 Antwort

9

Verwenden Sie den Befehl getLastError , um Informationen über das Ergebnis Ihrer Operation zu erhalten.

Ich kenne den Ruby-Treiber nicht, aber die meisten Treiber tun dies automatisch im abgesicherten Modus . Im abgesicherten Modus prüft jeder Schreibvorgang das Ergebnis von getLastError , um sicherzustellen, dass der Schreibvorgang erfolgreich war. Die Aktualisierungsoperation sollte ein Objekt zurückgeben, das wie das JSON-Objekt aussieht, und die Anzahl der aktualisierten Dokumente ( n ) enthält. Sie können die Einstellungen für den abgesicherten Modus feineinstellen, aber seien Sie gewarnt, dass der Standardmodus "Feuer und Vergessen" ist, daher ist der abgesicherte Modus für viele Anwendungsfälle eine gute Idee.

In der Shell

%Vor%

Hier habe ich n = 3 Dokumente aktualisiert. Beachten Sie, dass Aktualisierungsvorgänge in mongodb standardmäßig nur für das erste übereinstimmende Dokument gelten. In der Shell wird der vierte Parameter verwendet, um anzugeben, dass wir mehrere Dokumente aktualisieren möchten.

    
mnemosyn 15.11.2011, 20:31
quelle