0
我都有下列文件中的MongoDB(每小時的數據1周2個節點nodeA和基站)MongoDB的+加場使用其他領域來計算+獲得MAX +
> db.collection_name.find().pretty()
{
"_id" : ObjectId("52979bc7ebf1a5ecb120ae65"),
"Time" : "18/11/2013 0:00",
"Node Name" : "NodeA",
"Integrity" : "100%",
"X_1" : 103674,
"X_2" : 45,
"X_3" : 13071,
"X_4" : 103626,
"X_5" : 46,
"X_6" : 14639
}
{
"_id" : ObjectId("52979bc7ebf1a5ecb120ae66"),
"Time" : "18/11/2013 0:00",
"Node Name" : "NodeB",
"Integrity" : "100%",
"X_1" : 103674,
"X_2" : 45,
"X_3" : 13071,
"X_4" : 103626,
"X_5" : 46,
"X_6" : 14639
}
...
{
"_id" : ObjectId("52979bc7ebf1a5ecb120ae67"),
"Time" : "24/11/2013 23:00",
"Node Name" : "NodeA",
"Integrity" : "100%",
"X_1" : 103674,
"X_2" : 45,
"X_3" : 13071,
"X_4" : 103626,
"X_5" : 46,
"X_6" : 14639
}
{
"_id" : ObjectId("52979bc7ebf1a5ecb120ae68"),
"Time" : "24/11/2013 23:00",
"Node Name" : "NodeB",
"Integrity" : "100%",
"X_1" : 103674,
"X_2" : 45,
"X_3" : 13071,
"X_4" : 103626,
"X_5" : 46,
"X_6" : 14639
}
現在我想要做的就是創建與一些新的領域是這樣的:
db.students.update({},{$set :{"new_field_name":<values_of_new_dieldname>}},{upsert:false,multi:true})
在
<values_of_new_dieldname>
我想做
(X_1 + X_3)* 8/3600,讓我們稱之爲它CALCA,這將給像:(我不關心X1-> x6在此階段)
{
"_id" : ObjectId("52979bc7ebf1a5ecb120ae91"),
"Time" : "24/11/2013 23:00",
"Node Name" : "NodeA",
"new_field_name": calcA
}
{
"_id" : ObjectId("52979bc7ebf1a5ecb120ae90"),
"Time" : "24/11/2013 23:00",
"Node Name" : "NodeB",
"new_field_name": calcA
}
,然後我想在「節點名稱」相結合,得到「new_field_name」,這將給類似的總和:
_id {
"Time" : "24/11/2013 23:00",
"field_name": calcA + calcA (from NodeA and NodeB)
}
這樣的話,我將有其中之一從每小時「 18/11/2013 0:00「 - >」2013年11月24日23:00「。
,然後我想要得到的「字段名」
良好的最大值,這就是我想要做的,我希望這是明確的。我目前正在使用聚合方法來嘗試實現這一點。我會用這種方法是對的嗎?
謝謝
這個問題很具體。較小的用例會更好。 – mikemaccana
你真的不想把時間存儲在我猜想的是MM/DD/YYYY中。使用ISODate()。 – mcr