mongodb数据排序问题
发布于 8 年前 作者 mumup 3470 次浏览 来自 问答

最近在做一个企业内部点餐的小程序,因为技术很渣,在做排序的时候遇到了点问题,数据结构如下,我想把orders里面的数组按照DishName字段进行分类排序,大神们能给点思路吗,感谢

1 鱼香肉丝 小明
2 鱼香肉丝 小强
3 香煎饺子 小红
4 香煎饺子 小利
5 香煎饺子 小张
6 香煎饺子 小冰
。。。。。。。
{
    "_id" : ObjectId("58399e06769d221998098a69"),
    "menu_num" : 24,
    "meta" : {
        "createAt" : ISODate("2016-11-26T14:18:06.070Z")
    },
    "orders" : [ 
        {
            "account" : "123",
            "DishName" : " 鱼香肉丝",
            "name" : "小明",
            "_id" : ObjectId("58399e06769d221998098a63"),
            "times" : ISODate("2016-11-26T14:36:54.849Z")
        }, 
        {
            "times" : ISODate("2016-11-26T14:37:25.384Z"),
            "_id" : ObjectId("58399e25769d221998098a64"),
            "name" : "admin",
            "DishName" : "梅菜扣肉",
            "account" : "admin"
        }, 
        {
            "times" : ISODate("2016-11-26T14:37:25.409Z"),
            "_id" : ObjectId("58399e25769d221998098a65"),
            "name" : "小强",
            "DishName" : "香煎饺子",
            "account" : "123"
        }
    ],
    "__v" : 0
}
5 回复

不懂,学习一下

是里面更新成分组的呢?还是结果查出来然后字段分组呢

试试mapreduce

orders.sort(funtion(pre, next){ return pre.DishName - next.DishName; })

map reduce?什么鬼?

return pre.DishName - next.DishName 这样进行 排序 几乎不可能满足业务需要吧.

你需要定义一个字段 用来排序

比如可以使用 times 根据时间来排序

回到顶部