首页 > 解决方案 > 从 Firestore (Vue.js) 获取数据的错误顺序

问题描述

我想从 Firestore COLLECTION A获取数据,其中是用户 ID(createdBylastUpdateBy)。用户数据 (firstName, surName...) 在COLLECTION B中。如果我从 Firestore 获取数据并使用 OrderBy lastUpdateBy,则顺序首先是 USER(从最新到最旧),然后是 lastUpdateAt,这正是我想要的。拜托,你能帮帮我,有什么问题吗?

  // Fetch Data from the Firestore

  let refUsers = db.collection('users')
  db.collection('campTypes').orderBy("lastUpdateAt", "asc")
  .onSnapshot((snapshot) => {

    snapshot.docChanges().forEach(change => {
      refUsers.doc(change.doc.data().createdBy).get()
      .then(createdByUser => {
        var cbUser = createdByUser.data()

        refUsers.doc(change.doc.data().lastUpdateBy).get()
        .then(updatedByUser => {
          var ubUser = updatedByUser.data()

          if(change.type === 'added') {
            this.campTypes.unshift({
              id: change.doc.id,
              name: change.doc.data().name,
              status: change.doc.data().status, 
              createdAt: change.doc.data().createdAt, 
              createdBy: change.doc.data().createdBy, 
              createdByUser: cbUser,
              lastUpdateAt: change.doc.data().lastUpdateAt,
              lastUpdateBy: change.doc.data().lastUpdateBy, 
              lastUpdateByUser: ubUser
            })
          }


        })

      })
    })
  })

图片:数据表,最新更新不在顶部

标签: sortingvue.jsdatatablegoogle-cloud-firestore

解决方案


推荐阅读