2016-04-04 11 views
-1

Ben bir koleksiyon olarak adlandırılan Mesajlar varsa ve bir mesaj message_id ise kontrol ederek bulunabilir birden anne olabilir Sağlar ki parent_id bir dizidir parent_id dizisinde.Mongo Belgenin Fields Of İki aynı değerleri içeren nerede Sorgu Koleksiyonları dönmek BUL (Tek bir Array mıydı)

{ 
    message_id : 22, 
    parent_id: [22,11], 
} 

Bunu bulmak için nasıl bir mongo sorgusu oluşturabilirim?

Şu anda aşağıdaki var ama başarısız:

db.messages.find({this.message_id: { $in: this.parent_id}}) 
+0

Bu kesinlikle bir kopyası olmaması gerekir. Bu soru agregasyon hakkında soru soruyor. Mongo sorgularına başvuruyorum. Onlar mongodb'da iki tamamen farklı sorgulardır. – aruuuuu

cevap

0

muhtemelen desteklemediği db katılır Mongo bildiği gibi, ben gibi bir şey çalıştırabilir shell mongo kullanarak, uygulama düzeyinde yapmanız tavsiye bu.

//Get the message in which you are interested to get their parents 
var child = db.messages.findOne({message_id: 22}); 
//Go with the array to search the parents. 
db.messages.find({message_id : { $in : child.parent_id }}); 

Birisi daha zarif bir çözüm bilmedikçe iki adımda yapmanız gerektiğini düşünüyorum. "- maç ise dizideki değer MongoDB Aggregation"

İlgili konular