如何在mongoDB中进行字母数字排序?

时间:2018-08-21 13:54:04

标签: mongodb mongodb-query

我有这样的收藏。

{"userID" : "TR31"}
{"userID" : "TR1059"}
{"userID" : "TR1043"}

我想按升序或降序对文档进行排序,我尝试了db.col.find({}).sort({"userID" : 1})db.col.find({}).sort({"userID" : -1})的方式,但是没有运气。

预期结果:

    {"userID" : "TR31"}
    {"userID" : "TR1043"}
    {"userID" : "TR1059"}

请告知。预先感谢。

2 个答案:

答案 0 :(得分:4)

numericOrdering中将db.col.find({}).sort({"userID" : 1}).collation( { locale: "en_US", numericOrdering: true }); 在3.4中设置为true。

类似

cleos push action bescouted registeracc '[$RANDOM]' -p bescouted
cleos push action bescouted vote '[0,$i]' -p bescouted

答案 1 :(得分:1)

一种方法是,您需要使用前缀进行保存。

{"userID" : "TR0031"},
{"userID" : "TR1059"},
{"userID" : "TR1043"}

以便您可以实现预期的目标。

{"userID" : "TR0031"},
{"userID" : "TR1043"},
{"userID" : "TR1059"}