如何在猫鼬中添加运算符

时间:2018-07-23 09:00:36

标签: node.js mongodb mongoose

我如何将$max $min这样的运算符与猫鼬一起使用

我尝试过

 User.find({Followers:max});

但是那没用

2 个答案:

答案 0 :(得分:0)

您可以使用.aggregate()方法

db.collection.aggregate([ 
    { "$group": { 
        "_id": null,
        "max": { "$max": "$Followers" }, 
        "min": { "$min": "$Followers" } 
    }}
])

_id应该为null,否则查询将仅返回每个组的最大/最小

答案 1 :(得分:0)

$ max和$ min运算符不能与.find()一起使用, 您需要使用.aggregate()使其正常工作。

    user.aggregate([ 
          { "$group": { 
                "_id": null,
                "maxfollowers": { "$max": "$Followers" }, 
                "minfollowers": { "$min": "$Followers" } 
          }}
       ])

_id字段在$ group中是必填字段,要找到整个集合(而不是特殊组)的Followers的最大值/最小值,则需要将其设置为null,否则,如果希望每个组的结果都可以使用该字段名称而不是null例如

    user.aggregate([ 
      { "$group": { 
             "_id": "$name",
             "maxfollowers": { "$max": "$Followers" }, 
             "minfollowers": { "$min": "$Followers" } 
          }}
     ])