相信有不少人在对发布的内容或评论的顺序上产生了困惑,在默认的情况下,当用户发布了内容,发的最早的用户的信息在最上端,而后续用户发的信息向下展开排列,那么如何实现最新的内容排列上最上端呢,下面将介绍排序的逻辑和实现。

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)

这样即可实现按照最新时间进行排序了!!