2014-04-17 83 views
-1

下面的查詢:我可以在特定的字段對中執行操作嗎?

db.mydoc.find({x:{$in:[1, 2, 3]}, y:{$in:[0.1, 0.2, 0.3]}}) 

會發現它可以包含x和y的所有可能組合的記錄。如何修改查詢,以便我只得到它匹配相應的x和y對記錄,即假設:

db.mydoc.find({(x,y):{$in:[(1,0.1), (2,0.2), (3,0.3)]}}) 

我當然可以在後處理,或查詢每個單獨的X過濾這些了,但有沒有辦法讓它在一個查詢中?

回答

2

這實際上成爲$or查詢,像這樣:

db.mydoc.find({ 
    "$or": [ 
     { "x": 1, "y": 0.1 }, 
     { "x": 2, "y": 0.2 }, 
     { "x": 3, "y": 0.3 } 
    ] 
}) 

所以邏輯現在只是選擇符合其中的任意一種特定條件的文件。

相關問題