2012-03-28 61 views
0

繼MongoDB的文檔例子似乎是錯誤的。

有什麼建議嗎?

一個== 1和> 5不會匹配的任何文檔。

Link

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

在具有相等的具有值的1的元素和大於5的值上面的例子中的文件將被返回

回答

2

你缺少一個導入行的例子:

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

插入會給你看起來像下面這樣的記錄:

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

所以查找會返回任何結果,其中一個== 1和一個也有一個大於5的值。在這種情況下,可以有兩個值:http://www.mongodb.org/display/DOCS/Multikeys

的一個是1,而在同時10.所以這就是爲什麼這個查詢將返回這個結果。

+0

優秀..感謝 – 2012-03-28 18:35:48

+0

啊multikeys可能會造成混淆,我想他們應該包括$和跳進多鍵例如前一個簡單的例子(因爲這是你需要閱讀整個其他文件,完全理解) – jzworkman 2012-03-28 18:38:00