2016-03-23 13 views
0

BoxId alanının ayarlanmadığı veya boş olmadığı belgeleri bulmaya çalışıyorum.Meteor içinde "OR" sorgusu

Bu işe yaramazsa Koşu:

return Items.find({ createdBy: currenUser, boxId: { $or: [{ $exists: false }, { $size: 0 }] } }) 

İşte konsolda olsun hata var:

Exception in template helper: Error: Unrecognized operator: $or 

cevap

1

mongodb anahtar adları ve operatörlerin sipariş genellikle kafa karıştırıcı olabilir. tarla koşullarında önce $or koyun:

return Items.find({ createdBy: currentUser, 
    $or: [ 
    { boxId: { $exists: false }}, 
    { boxId: "" }} 
    ] 
}); 
+0

Artık hata almıyorum ama BOXID alan "" (boş tırnak) 'dir belgeleri iade edilmez. Bunun için $ size doğru operatör mü? –

+0

İlgili soru ve yaklaşım için http://stackoverflow.com/a/9694397/2805154 adresine bakın. –

+0

Kötü durumdayken, $ koşulu ikinci durumunuzla değiştirmeyi unuttum. Şuan çalışıyor. Teşekkürler! –