Estoy tratando de eliminar algunos datos de la base de datos en tiempo real de firebase después de un tiempo, pero me da este error: Uncaught TypeError: ref2.orderByChild is not a function
este es el codigo:
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.8.1/firebase-app.js"; import {getDatabase, ref, child, onValue, get} from "https://www.gstatic.com/firebasejs/9.8.1/firebase-database.js" import "https://cdn.jsdelivr.net/npm/seamless-scroll-polyfill@latest/lib/bundle.min.js"; const firebaseConfig = { apiKey: "xxxxx", authDomain: "xxxxx", databaseURL: "xxxxx", projectId: "xxxxx", storageBucket: "xxxxx", messagingSenderId: "xxxxx", appId: "xxxxx" }; const app = initializeApp(firebaseConfig); const db = getDatabase(); var ref2 = ref(db, "/2021-2022/Pentamestre/Voti/Novità"); var now = Date.now(); var cutoff = now - 2 * 60 * 60 * 1000; var old = ref2.orderByChild('timestamp').endAt(cutoff).limitToLast(1); var listener = old.on('child_added', function(snapshot) { snapshot.ref.remove(); });Obviamente en firebaseConfig los datos están presentes, solo los oculté aquí
Hay una query() en el nuevo SDK modular para crear una consulta. De manera similar, orderByChild() y otras restricciones de consulta también son una función. Intente refactorizar el código como se muestra a continuación:
var old = query(ref2, orderByChild('timestamp'), endAt(cutoff), limitToLast(1)); var listener = onChildAdded(old, function(snapshot) { // ... });Veo que importó "get" pero no lo usó, y la referencia "/2021-2022/Pentamestre/Voti/Novità" es quizás
"2021-2022/Pentamestre/Voti/Novità"ya que la ruta no comienza con /slash