2016-10-25 4 views
1

Ich möchte das Dokument mit oder unter Bedingung aktualisieren. (Dh) die Bedingung muss blicken auf mehrere Daten auf dem Dokument Beispiel: Betrachten wir die folgenden DokumenteWie Update-Abfrage mit oder wo Bedingung in MongoDB machen?

{ 
'sender' => '123456', 
    'receiver' => '654321', 
    'reply_time' => '2 sec' 
} 
{ 
'sender' => '654321', 
    'receiver' => '123456', 
    'reply_time' => '10 sec' 
} 
    { 
'sender' => '123456', 
    'receiver' => '78945612', 
    'reply_time' => '10 sec' 
} 

Dabei möchte ich aktualisieren ‚reply_time‘ zu bestimmten Wert, wo der ‚Absender‘ ist ‚123456 'oder' Empfänger 'ist' 123456 ', Gibt es eine Möglichkeit, dies zu erreichen, indem Sie eine Aktualisierungsabfrage oder andere mögliche Wege verwenden?

Antwort

2

Versuchen Sie die folgende Abfrage:

db.collection.update(
    { 
     $or : [ { "sender" : "123456" }, {"receiver" : "123456"} ] 
    }, 
    { 
     $set: { "reply_time" : <reply_time> } 
    } 
) 

Wenn Sie mehrere Dokumente aktualisieren möchten, verwenden Sie updateMany.

Hoffe, das hilft.

Verwandte Themen