无法在Mongoose中找出正确的查询逻辑条件

时间:2012-08-24 13:58:18

标签: mongoose

我在Mongoose完全是新手,我很抱歉可能有一个愚蠢的问题,但我真的需要一些帮助。

模型有两个字段: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(..)

并将结果相互添加。

1 个答案:

答案 0 :(得分:0)

Mongoose中有一个or operator可以让你做你想做的事。您需要回退到MongoDB条件以在Mongoose中执行更高级的查询。有关所有这些信息,请使用regular MongoDB docs

以下示例可以解决您的问题或至少让您入门:

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