2012-11-28 27 views
5

Aslında, bazı hesaplamaları yapmak için harita küçültmeyi kullanıyorum. Hesaplama işlemlerim için kullanılabilir boru hattı operatörleri olmadığından, bunu toplama çerçevesiyle yapamıyorum.MongoDB Toplama Çerçevesi ile özel boru hattı operatörleri

Özel boru hattı operatörleri yazmak mümkün mü?

1) kutunun dışında: peşin

+0

ek operatörleri ne tür ihtiyacım var: Örneğin

, zaten var gibi istekleri? – Stennie

+0

stddev, medyan, koşulsal işlemler esas olarak – hotips

cevap

8

yılında

teşekkürler cevap "mümkün" tanımına bağlıdır NO.

MongoDB 2.2'de olduğu gibi, yeni boru hattı operatörleri eklemenize izin veren son kullanıcı özelliği yoktur. Toplama Çerçevesi ve boru hattı operatörleri C++'da daha iyi performans ve eşzamanlılık için MapReduce (JavaScript'te uygulanan) gibi daha önceki toplama seçeneklerine göre uygulanmaktadır.

2) C++ 'da bir tane yazmak istiyorsanız: EVET (ama önemsiz değil).

MongoDB açık kaynak kodlu bir projedir, bu nedenle C++ koduna dalış yapma ve kendiniz için ek işlevsellik uygulama seçeneğine sahipsiniz (bkz .: src/mongo/db/pipeline). Contributing to the MongoDB project'da kurallar bulunduğunu ve sürekli geliştirmenin aşırı derecede aktif olduğunu unutmayın.

Özel işlevler yazmak istiyorsanız, şu anda en iyi seçeneğiniz MapReduce kullanmaya devam etmektir.

Yukarıdaki seçeneklerden bağımsız olarak, görmek istediğiniz bir boru hattı operatörü veya özelliği varsa lütfen MongoDB Jira SERVER project (bileşen: Aggregation Framework) ürününde önerilerinizi bildirin. Bu özellik, diğerlerinin yorum yapma, izleme ve özellik isteği üzerine oy kullanmalarına izin verecektir. Eğer bu özelliği kendiniz uygularsanız, çekme talebinizdeki Jira özellik açıklamasına başvurabilirsiniz. Yeni bir özellik isteği göndermeden önce, belki de bu özelliğin already been suggested içerip içermediğini görmek için arama yapmalısınız.

+0

resmi inşa ile özel boru hattı toplayıcı kullanmak için planlanmış olup olmadığını biliyor musunuz? Teşekkürler ! – hotips

+0

Toplama Çerçevesi, C++ 'da genişletilebilir (ve performanslı) olacak şekilde tasarlanmıştır. Bu nedenle, kullanıcı tanımlı boru hattı operatörleri olası bir eşleşme görünmüyor. Jira'daki özellik taleplerine oy verirseniz, bunlar gelecekteki sürümler için planlamaya dahil edilir. Harita/Azalt, veri toplama/manipülasyon için kullanılabilir bir JavaScript yorumcusu yapar; MongoDB toplama seçeneklerinin karşılaştırılması için bkz: [grup(), $ grubu ve MapReduce] (http://stackoverflow.com/questions/12337319). – Stennie

İlgili konular