2017-12-01 9 views
0

私はmongoを初めて使用しており、このクエリでヘルプを使用できます。オブジェクトプロパティが大きい場合、MongoDbの更新オブジェクト

オブジェクトはこのように見えます。

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

またはこの

device = { 
    stuff:'otherstuff', 
} 

私は新しいタイムスタンプが現在のread.timestampよりも大きい場合、読み取りが存在しない場合、またはdevice.readを更新するクエリを書きたいです。これを更新する方法はありますか?または、タイムスタンプが大きいかどうかを判断する前にロジックを用意する必要がありますか?任意の助け

おかげで、

+1

です://docs.mongodb。 com/manual/reference/operator/query /または/ – Eric

答えて

0

はあなたの変数を使用して変数を設定するが、これはあなたが$またはオペレータのhttpsをチェックアウトする必要があります基本概念

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

+0

私はこれを試してくれます、ありがとう。 – caden311

関連する問題