firebase RTDB startAfter() не является функцией

# #javascript #firebase #vue.js #firebase-realtime-database

Вопрос:

Я пытаюсь разбить список элементов на страницы с помощью Vuefire, и по какой-то причине я получаю ошибку с приведенным ниже кодом (когда я звоню startAfter() , функция работает нормально startAt() ).

lastVisible является объектом в состоянии моего компонента со свойством expire_date (метка времени UNIX)

Это ошибка, которую я получаю

Есть идеи, что не так?

     async seeFurtherGames() {
      var games_ref = db.ref('games')
      console.log("GameBrowser.seeOlderGames()", this.lastVisible, games_ref)
      if (this.lastVisible) {
        var start = this.lastVisible.expire_date
        var query = games_ref.orderByChild('expire_date').startAfter(start).limitToFirst(this.item_limit)
        await this.$bind("games", query)
        this.setLastVisible()
        
      }
    }
 
 Uncaught (in promise) TypeError: games_ref.orderByChild(...).startAfter is not a function
    at _callee3$ (webpack-internal:///./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/GameBrowser.vue?vueamp;type=scriptamp;lang=jsamp;:257)
    at f (chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content_script/inpage.js:141)
    at Generator._invoke (chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content_script/inpage.js:141)
    at Generator.next (chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content_script/inpage.js:141)
    at asyncGeneratorStep (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:9)
    at _next (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:31)
    at eval (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:38)
    at new Promise (<anonymous>)
    at eval (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:27)
    at VueComponent.seeFurtherGames (webpack-internal:///./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/GameBrowser.vue?vueamp;type=scriptamp;lang=jsamp;:270)
 

Комментарии:

1. Какую версию JavaScript SDK вы включаете?

2. «firebase»: «^8.2.0», @FrankvanPuffelen

3. Похоже, обновление до v9 устранило мою проблему!

Ответ №1:

Операции startAfter и endBefore в базе данных Firebase в реальном времени были представлены в версии 8.2.7 пакета SDK JavaScript.

Ответ №2:

Я смог решить эту проблему, обновив firebase с v8 до v9