Bir raporlama uygulamasına sahibim ve mongodb komutları oluşturuyorum ve üç toplu çağrı çalıştırmayı içeriyor. Toplu çağrılar borularına [eşleme, grup, proje] sahiptir. Onların $ maçı aynı agrega çağrısında olamaz farklı olduğu için bu aramalar için
RESULT OF AGGREGATE 1-3
{_id: <XXX>, ...}
gruplama "_ID", aynıdır, ancak. Tüm bu toplama sonuçlarına katılmam gerekiyor. Bunu çözmenin bir yolunun $ group aşamasında koşulları kullanması olduğunu biliyorum, ancak sorun şu ki, zaten karmaşık olan $ grup borusuyla karışmak için şartlar gerçekten karmaşıktır. Imkansız olmasa bile bu çözümün neden çok zor olduğu konusunda biraz bağlam sağlamak için; veriler oldukça büyük, her bir dokümanın 700 özelliği var ve dokümanlar günde 1k civarında geliyor. $ Grup aşamasında böyle karmaşık bir durumun EACH alanına dönüştürülmesi karışıklık yaratacaktır.
Bu toplama sonuçlarını birleştirmek için harita küçültme çalıştıran yanıtları gördüm ancak diğer çözümleri arıyorum. Araştırdığım gibi, toplamda bir çıkış borusu var. Bu toplama sonuçlarına katılmak için $ out borusunu manipüle etmenin herhangi bir yolu var mı? ($ Out düşüncesinin nedeni TÜM sonuçları bir rapor olarak kaydetmem gerekmesidir)
Tamam, "dışarıda" her zaman bir koleksiyonun üzerine yazar ve temelde yapmanız gereken şey yineleme imleçleri ve imleç yinelemesi başına başka bir koleksiyona çıktı ya da yapmanız gereken her şeyi yapar. Ve bu sorudan tamamen eksik olan detay. Önemli olmayan büyük sayıları unutun. Bunun yerine, asıl problemi temel belge örnekleri ve istenen bir sonuç ile açıklayın. –