mongoDB中求最大值

uidin

来自: uidin 2011-02-25 14:41:55

×
加入小组后即可参加投票
  • 黑枪王荣格

    黑枪王荣格 (您的愿望,我的方向) 2011-02-25 14:49:50

    mongoDB 不支持 SQL

  • uidin

    uidin 2011-02-25 15:03:55

    。。。。。。
    我问的是mongoDB有没有办法实现类似sql中max()函数,现在我需要得到这个value的最大值

  • 黑枪王荣格

    黑枪王荣格 (您的愿望,我的方向) 2011-02-25 15:15:02

    有啊,你可以写一个js的脚本就行了,比如按照下面的方式来写。

    var cursor = db.collection.find();
    while (cursor.hasNext()) {
    ...obj = cursor.next();
    ...//do max
    }

    或者,你也可以写一个MapReduce。

  • uidin

    uidin 2011-02-25 15:24:25

    谢谢
    果然还得用脚本,无语。。。。。。

  • 黑枪王荣格

    黑枪王荣格 (您的愿望,我的方向) 2011-02-25 17:01:13

    NoSQL最基本的语言大多都只支持简单查询

  • webwindy

    webwindy 2011-03-03 15:40:05

    Index value -1

    find().sort({value:-1}).limit(1)

  • pandaAn

    pandaAn 2015-08-19 19:45:26

    {"_id" : "497dbcb36b27d59a708e89a4" , "id" : "other thing" , "value" : 2}
    {"_id" : "497dbcb36b27d59a708e89a4" , "id" : "other thing" , "value" : 3}
    {"_id" : "497dbcb36b27d59a708e89a4" , "id" : "other thing" , "value" : 4}
    {"_id" : "497dbcb36b27d59a708e89a4" , "id" : "other thing" , "value" : 5}
    {"_id" : "497dbcb36b27d59a708e89a4" , "id" : "other thing" , "value" : 6}

    db.test.aggregate(
    {
    "$group":{
    "_id":"$id",
    "max_value":{"$max":"$value"}
    }
    }
    );

  • 绝之

    绝之 2015-08-31 11:50:18

    mongo的aggeragation pipeline有$max可以实现lz希望的操作

你的回应

回应请先 , 或 注册

5589 人聚集在这个小组
↑回顶部