我在Mongoose完全是新手,我很抱歉可能有一个愚蠢的问题,但我真的需要一些帮助。
模型有两个字段:major_rating
和minor_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 :(得分:0)
Mongoose中有一个or operator可以让你做你想做的事。您需要回退到MongoDB条件以在Mongoose中执行更高级的查询。有关所有这些信息,请使用regular MongoDB docs。
以下示例可以解决您的问题或至少让您入门:
.or([{major_rating: {$gt: N1}}, {major_rating: N1, minor_rating: {$gte: N2}}]).count()