2011-02-10 40 views
1

我試圖從MongoDB的集合返回用戶,要麼匹配提供的用戶名或電子郵件:

db.users.find({ 
    $or:[ 
     {username: "user1"}, 
     {email: "[email protected]"} 
    ] 
}); 

該查詢返回一個空的結果,即使

db.users.find({username: "user1"}); 

db.users.find({email: "[email protected]"}); 

返回同一個對象,我怎麼格式化查詢,使其可選ŧ o提供用戶名或電子郵件地址?

+0

或語法看起來很好 - 這對我很有用。 – 2011-02-10 22:18:50

回答

3

或運營商成爲與1.5.3版本的mongodb。

documentation

$或

的$或操作,您可以使用一個 布爾表達式或做查詢。 您給出$或表達式列表, 其中任何一個都可以滿足查詢。 新MongoDB中1.5.3

所以問題是在舊版本的MongoDB。

1

版本1.2.2似乎不完全支持$或版本1.6.5。