78 Stimmen

MongoDB: Aktualisieren von Dokumenten mit Daten aus demselben Dokument

Ich habe eine Liste von Dokumenten, jedes mit lat und lon Eigenschaften (neben anderen).

{ 'lat': 1, 'lon': 2, someotherdata [...] } 
{ 'lat': 4, 'lon': 1, someotherdata [...] }
[...]

Ich möchte sie so ändern, dass sie wie folgt aussieht:

{ 'coords': {'lat': 1, 'lon': 2}, someotherdata [...]} 
{ 'coords': {'lat': 4, 'lon': 1}, someotherdata [...]}
[...]

Bis jetzt habe ich das hier:

db.events.update({}, {$set : {'coords': {'lat': db.events.lat, 'lon': db.events.lon}}}, false, true)

Aber es behandelt die db.events.lat y db.events.lon als Zeichenketten. Wie kann ich auf die Eigenschaften des Dokuments verweisen?

乾杯

0voto

sdot257 Punkte 9520

Über die CLI? Ich glaube, Sie müssen zuerst die Werte herausziehen und den Wert in eine Variable einfügen. Führen Sie dann Ihren Update-Befehl aus.

Oder (ich habe es nicht versucht) entfernen Sie 'db' aus der Zeichenfolge. events.lat y events.lon Wenn es funktioniert, haben Sie immer noch mehrere Werte, die alten Werte für "lat" und "lon" und das neue Feld, das Sie erstellt haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X