【发布时间】:2015-12-10 13:55:58
【问题描述】:
我已经用 java 连接了 mongo 数据库,并且我已经在数据库中有数据。数据库中的数据如下所示:
{"id":"4654654", "money":"54"}
{"id":"44234654", "money":"102"}
{"id":"123654", "money":"36"}
{"id":"98764654", "money":"5400"}
{"id":"456655", "money":"520"}
{"id":"7654", "money":"789"}
{"id":"3456546", "money":"85"}
{"id":"0346575", "money":"42"}
{"id":"46554645", "money":"2000"}
在 java 中,我想按“钱”对数据进行排序。 所以我写了这段代码:
DBCursor cursor = collection.find().sort(new BasicDBOject("money", 1));
while(cursor.hasNext(){
System.out.println(cursor.next().get("money"));
}
我希望我会得到这样的东西:
36
42
54
85
102
......
但这不是我得到的,我得到了这些数字:
102
2000
36
42
520
5400
....
它确实以某种方式订购,但这不是我想要的。 也许还有另一种方法可以按照我的意愿对数据进行排序。
【问题讨论】:
-
您的货币字段存储为字符串。所以它被适当地排序为一个字符串。如果要按数字排序,则需要转换为数字。
-
有效!!非常感谢您的帮助
标签: java mongodb mongodb-query database