2
我有一個數據庫與多個列。我試圖區分一列,所以我可以添加第二列的數字。我正在創建一個新的集合(表格)。 例如:不同的列在MongoDB中使用JavaScript
states race race_1 geo_type
Alabama 1 3 state
Alabama 4 1 state
Alabama 4 1 state
Alaska 5 1 state
Alaska 2 1 state
所以輸出應該是。
states race race_1 geo_type
Alabama 9 5 state
Alaska 7 2 state
我使用Javascript來運行該任務。 這是我到目前爲止有:
db.race_collection.distinct('states').forEach(function(state_lookup){
var race_sum = 0;
db.race_collection.find({'states': state_lookup}).forEach(function(doc){
if (doc['race']) {
race_sum = race_sum + doc['race'];
}
if (doc['race'] != null)
db.indicator_collection.insert({
'race': race_sum,
'state': state_lookup
})
})
})
我試圖尋找在Javascript的答案,這一點,但找不到任何接近。我沒有移動到「race_1」還因爲我甚至沒有得到「比賽」加起來。如果需要,你可以撕開我的代碼。重要的是我使用Javascript來解決這個問題。 在此先感謝。
這個工作,易於操作。我之前沒有使用聚合。但是,如果要使用**「states」**替代列名的**「_ id」**,該怎麼辦?它給出的錯誤'狀態'必須定義爲對象中的表達式。 **「_id」**是必要的。 –
在這種情況下,你需要在''''''project''(https://docs.mongodb.org/manual/reference/operator/aggregation/project/#pipe._S_project) $ out'管道,這將替換'_id'並添加新的字段。檢查我的編輯實施。 – chridam