相信有不少人在对发布的内容或评论的顺序上产生了困惑,在默认的情况下,当用户发布了内容,发的最早的用户的信息在最上端,而后续用户发的信息向下展开排列,那么如何实现最新的内容排列上最上端呢,下面将介绍排序的逻辑和实现。
1、设置一个参数作为排序的依据
我们是按最新时间排序,所以找一个最新时间作为时间戳。
使用小程序官方提供的wx.cloud.database().serverDate()作为时间戳。
我们在上传云数据库时把这个时间戳一起上传到数据库。
2、orderBy排序
在获取数据库的数据时使用orderBy。
orderBy.('字段依据','desc/asc') 其中desc为降序(从大到小排序),asc为正序(从小到大排序)。
可按一个或多个字段进行排序。
按一个字段排序:
例:
db.collection('todos').orderBy('progress', 'asc')
.get()
.then(console.log)
.catch(console.error)
按多个字段排序
例:
db.collection('todos')
.orderBy('progress', 'desc')
.orderBy('description', 'asc')
.get()
.then(console.log)
.catch(console.error)
这样即可实现按照最新时间进行排序了!!