2012-03-28 12 views
0

以下のMongoDBドキュメントの例は間違っているようです。

提案がありますか?

a == 1とa> 5は決してどのドキュメントにも一致しません。インポートを欠落している1に等しい値を有し、5より大きい値が

答えて

2

が返されるの要素を有する上記の例の文書に

Link

db.foo.find({ $and: [ { a: 1 }, { a: { $gt: 5 } } ] }) 

例の行:

0:

db.foo.insert({ a: [ 1, 10 ] }) 
db.foo.find({ $and: [ { a: 1 }, { a: { $gt: 5 } } ] }) 

挿入はあなたに次のように見えるのレコードを与えます

{"a" : [1, 10] , 
"_id" : "497ce4051ca9ca6d3efca323"} 

だから検索は== 1の任意の結果が返され、またこの場合により大きい値を有する2つの値とすることができる:http://www.mongodb.org/display/DOCS/Multikeys

aは1であり、で同じ時間10.これが、このクエリがこの結果を返す理由です。

+0

素晴らしい。ありがとう –

+0

私はマルチキーを混乱させる可能性がある、私はマルチキーの例にジャンプする前に$の簡単な例を含めるべきだと思う(完全に理解するためには、 – jzworkman