Çalışanlar tarafından alınan tatillerle dolu işlem masam var. Mongodb'de aşağıdaki sql senaryosunda yardıma ihtiyacım var.Mongodb çoklu grup alanları ile farklı sayılıyor
select employee,month,year,count(distinct (holiday_type) from
transactions group by employee,month,year
ben MongoDB kumelenmesinin kullanmak gerekir ve bunun gibi Mongo sorgusu oluşturulmuş ve bu beni
db.transactions.aggregate([
{ "$group": {
"_id": {
"Month": { "$month" : "$date" },
"Year": { "$year" : "$date" },
"employee" : "$employee",
"holiday_type" : "$holiday_type"
},
"Count_of_Transactions" : { "$sum" : 1 }
}}
]);
ben MongoDB içinde sayım ayrı mantık kullanarak karıştı yanlış çözüm sunar. Herhangi bir öneri var yol yararlı
ben hata alıyorum: Komut başarısız oldu: { "ErrMsg": "istisna: $ grubu için aşıldı bellek sınırını ancak dış tür w allo vermedi geçirin allowDiskUse. true ", " kodunu girin: 16945, "tamam": 0 }: topaklama başarısız oldu – Karthi
@Karthi MongoDB 2.6'da '$ group' işlemleri için bellek kullanım sınırı azaltıldı, ancak ayrıca büyük bir koleksiyonunuz da olabilir. . Düzenlemede içerdiğim gibi yöntem argümanlarının "seçenekler" bölümünde yer alan "allowDiskUse" öğesini ekleyebilirsiniz. Ayrıca [toplu] (http://docs.mongodb.org/manual/reference/method/db.collection.aggregate/) komut kılavuzuna bakın. –
Haklısınız. Sorguya allowDiskuse dahil etmedim. Bu çok yararlı. – Karthi