2012-08-27 11 views
7

と配列の値を見つける:のMongoDB:私は、次の書類を持っている複数の基準

{_id : 1, numbers : [-1000, 1000]} 
{_id : 2, numbers : [5]} 

私が間にある数字の配列の値を持つ文書を見つけるクエリを取得しようとしています - 10および10(この場合、_id:2)。ただし、次のように試してみると、

db.foo.find({numbers : $and : [{$gt : -10},{$lt : 10}]}) 

すべてのドキュメントが返されます。これはmap-reduceなしでも可能ですか?ありがとう、-JWW

答えて

7

$ elemMatchを使用して、配列の要素が指定された一致式に一致するかどうかを確認できます。 2文書:これはちょうど_idを返します

db.foo.find({ numbers : { $elemMatch : { $gt : -10 , $lt : 10 } } }); 

この場合

、あなたは、その数字の配列-10と10の間である要素を持つ文書を得るためにそれを使用することができます。

+0

非常にいいです。ありがとうございました! – JWally

関連する問題