mongodb - 如何在 mongoDB 中进行字母数字排序?
问题描述
我有一个这样的集合。
{"userID" : "TR31"}
{"userID" : "TR1059"}
{"userID" : "TR1043"}
我想按升序或降序对该文档进行排序,我尝试过这种方式db.col.find({}).sort({"userID" : 1})
,db.col.find({}).sort({"userID" : -1})
但没有运气。
预期结果:
{"userID" : "TR31"}
{"userID" : "TR1043"}
{"userID" : "TR1059"}
请指教。提前致谢。
解决方案
在 3.4 中collation
与设置为 true 一起使用。numericOrdering
就像是
db.col.find({}).sort({"userID" : 1}).collation( { locale: "en_US", numericOrdering: true });
推荐阅读
- image - 在文件管理器中替换图像不会替换应用程序中的图像
- wordpress - 如何根据位置在 Woocommerce 上接受订单?
- postgresql - 在 TransactionScope 中加入 Rebus 并结合 Entity Framework Core 3.0,无需两阶段提交
- python - 蟒蛇回溯背包
- git - git clone 在没有任何明显原因的情况下失败
- json - 如何将 JSON 对象数组解析为 Spark Dataframe?
- python - 在具有不同颜色的同一图形上使用绘图和散点图,但即使我先绘图,散点图仍然显示在绘图下方
- kubernetes - 从同一集群中的另一个 pod 连接到 redis pod
- python-3.x - 如何强制 distutils.dir_util.copy_tree 函数继续出错?
- angular - Angular FormArray 名称不显示拖放