2017-12-01 1 views
0

Ich bin neu in Mongo und könnte Hilfe mit dieser Abfrage verwenden.MongoDb Update-Objekt, wenn Objekt-Eigenschaft größer ist

Meine Objekte können so aussehen.

device = { 
    stuff:'otherstuff', 
    read: { 
    moreStuff: 'stuff', 
    timestamp: 'some date' 
    } 
} 

oder diese

device = { 
    stuff:'otherstuff', 
} 

Ich möchte eine Abfrage schreiben, die device.read aktualisiert wird, wenn Lese nicht existiert oder wenn der neue Zeitstempel größer als der aktuelle read.timestamp ist. Gibt es eine Möglichkeit, dies zu aktualisieren? Oder muss ich Logik vor der Hand haben, die bestimmt, ob der Zeitstempel größer ist?

Vielen Dank für jede Hilfe,

+1

Sie sollten die $ oder Betreiber https Check-out: //docs.mongodb. com/Handbuch/Referenz/Operator/Abfrage/oder – Eric

Antwort

0

Ihre Variablen und Variablen gesetzt, aber dies ist das Grundkonzept

db.collaction.update(
 
{ 
 
    $or:[ 
 
    read:{$exists: false}, 
 
    "read.timestamp":{$gt:timestamp} 
 
    ]} 
 
,{set:{"read.timestamp":timestamp}} 
 
)

+0

Ich werde dies versuchen, danke. – caden311

Verwandte Themen