如何在 mongodb javascript 中对数据库数据进行排序? (节点.js)
Posted
技术标签:
【中文标题】如何在 mongodb javascript 中对数据库数据进行排序? (节点.js)【英文标题】:How do I sort database data in mongodb javascript? ( node.js ) 【发布时间】:2021-02-13 00:05:30 【问题描述】:我在 Discord.js 中创建机器人。它有等级系统(你可以通过在聊天中写东西来获得),我想制作一个排行榜,但我必须以某种方式对数据库进行排序才能做到这一点,例如这就是它现在的样子(这是一个例子)
userId:"347707015956791297"
level:3
xp:231
userId:"267229922693611520"
level:1
xp:36
userId:"124575187579568129"
level:1
xp:81
userId:"466944003674472482"
level:4
xp:468
我如何让它看起来像这样(如果这个人有相同的水平,那么它通过 xp 对其进行排序):
userId:"347707015956791297"
level:4
xp:468
userId:"267229922693611520"
level:3
xp:231
userId:"124575187579568129"
level:1
xp:81
userId:"466944003674472482"
level:1
xp:36
【问题讨论】:
mongodb 文档介绍了如何对docs.mongodb.com/manual/reference/operator/aggregation/sort进行排序 你必须按降序排序,即model.find().sort(level: -1)
【参考方案1】:
要按两个字段排序,只需在find
之后调用sort
并指明必要的字段和升序/降序:
db.users.find( ).sort( level: -1, xp: -1 )
【讨论】:
由于某种原因,如果我使用它,就会出现这个错误:TypeError: Cannot read property 'find' of undefined 这意味着db.users
未定义
您应该注明您的型号名称而不是users
以上是关于如何在 mongodb javascript 中对数据库数据进行排序? (节点.js)的主要内容,如果未能解决你的问题,请参考以下文章