2017-08-13 51 views
1

我做錯了什麼?問題與JavaScript對象更新與節點紅色的mongodb

在下面的函數中,我必須調整newMsg.payload。

準確地說,我想調整day.0.0.temperature/humidity:第一個0是小時的佔位符,第二個0代表分鐘。 我可以根據需要獲得小時/分鐘,問題是要替換它們。

var newMsg = {}; 
newMsg.collection = 'collection_name'; 
newMsg.operation = 'update'; 
newMsg.payload = { "account" : "marco", 
    "sensorId" : "1" 
    }, 
    { '$set': { "day.0.0.temperature": 11 , 
       "day.0.0.humidity": 11 } 
    }, 
    { upsert: true, multi: false 
    }; 

這是我試過的,它不起作用。

var newMsg = {}; 
newMsg.collection = 'collection_name'; 
newMsg.operation = 'update'; 
newMsg.payload = { "account" : "marco", 
    "sensorId" : "1" 
    }, 
    { '$set': { "day." + h + "." + m + ".temperature": 11 , 
       "day." + h + "." + m + ".humidity": 11 } 
    }, 
    { upsert: true, multi: false 
    }; 

感謝

+0

你沒有告訴我們用什麼樣的第二組碼不起作用。你使用哪個mongodb節點至少有2個 – hardillb

回答

0

這是我做這個工作。

{ "\'$set\'": { "day" : { [h] : { [m] : { "temperature" : msg.data.temperature } } }, 
        "day" : { [h] : { [m] :{ "humidity" : msg.data.humidity } } } 
} 

問候