Birden çok sütun içeren bir veritabanım var. Bir sütunu ayırt etmeye çalışıyorum, böylece ikinci sütunun sayılarını ekleyebilirim. Yeni bir koleksiyon (tablo) oluşturuyorum. Örnek için : mongodb içinde javascript kullanarak farklı bir sütun
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
Yani çıkış olmalıdır.
states race race_1 geo_type
Alabama 9 5 state
Alaska 7 2 state
Bunun üzerinde çalışmak için Javascript kullanıyorum. JavaScript in bu bir cevap arayan çalıştı
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
})
})
})
ama yakın bir şey bulamadı: İşte Ben bugüne kadar ne olduğunu. "race_1"'a henüz taşınamadım, çünkü "yarış"'u bile ekleyemedim. Gerekirse kodumu paramparça edebilirsiniz. Bunu çözmek için Javascript kullanmam önemlidir. Şimdiden teşekkürler.
. Daha önce toplama kullanmamıştım. Ama, sütun adı için ** "_ id" ** yerine ** "durumlar" ** kullanmak isterse. Hata verir 'durum' nesnede bir ifade olarak tanımlanmalıdır. ** "_ id" ** gerekli. –
Bu durumda bir başka boru hattı aşamasına ihtiyacınız olacak [** '$ project' **] (https://docs.mongodb.org/manual/reference/operator/aggregation/project/#pipe._S_project) $ out' boru hattı, bu '_id' yerini alacak ve yeni alanı ekler. Bunu uygulamak için düzenlememi kontrol et. – chridam