2012-08-24 17 views
0

我在Mongoose中完全是newby,對於一個可能愚蠢的問題我很遺憾,但我真的需要某人的幫助。在Mongoose中找不到正確的查詢whith邏輯條件

模型有兩個字段:major_ratingminor_rating。我有一個成員:

example = {'major_rating': N1, 'minor_rating': N2} 

,我需要找到滿足該條件的會員量:

major_rating > N1 || (major_rating == N1 && minor_rating >= N2) 

請幫我弄清楚,必須有更好的辦法,而不是讓兩個查詢:

.where('major_rating').gt(N1).count(..) 

.where('major_rating').equals(N1).where('minor_rating').gte(N2).count(..) 

並將結果相加。

回答

0

在Mongoose中有一個or operator,它可以讓你做你想做的事。您需要回到MongoDB條件來在Mongoose中執行更高級的查詢。有關所有這些信息,您可以使用regular MongoDB docs

下面的例子應該能解決你的問題,或者至少讓你開始:

.or([{major_rating: {$gt: N1}}, {major_rating: N1, minor_rating: {$gte: N2}}]).count()