2009-11-09 72 views

回答

3

目前還沒有很好的方法來表示這個查詢(從1.1.2開始) - 如果您在列表中提出要求或提交功能請求,我們可以嘗試取得某些功能。

現在最好的辦法可能是使用在查詢中的$做一半的工作:結合

db.test.find({keys: {$in: Keys1}})

爲此,您可以用$哪裏可以做Keys2部分(但不會利用索引 - 這就是爲什麼儘量使用常規查詢語法)。這將是這個樣子:

db.test.find({keys: {$in: Keys1}, $where: "for (i in this.keys) { for (j in Keys2) { if (this.keys[i] == Keys2[j]) return true;}} return false;"})

在最新版本的MongoDB 2.6+,你可以通過$和運營商做到這一點。

db.test.find({$and:[{keys: {$in: Keys1}},{keys: {$in: Keys2}}]})