Eu escrevi uma função de nuvem do Firebase na qual desejo obter todas as coleções internas dos usuários chamadas 'números' e ler cada documento dessa coleção para fazer algumas comparações.
Alguma idéia de como fazer isso?
Eu sou muito novo no firebase e, por algum motivo, os comandos de navegação do banco de dados simplesmente não estão grudando em mim.
Eu tentei um punhado de comandos sem sucesso
const snapshot = functions.database.collection('users').collection('numbers').get()
let sfRef = db.collection('users');
sfRef.getCollections().then(collections => {
collections.forEach(collection => {
console.log('Found subcollection with id:', collection.id);
});
});
Aqui está uma infraestrutura de código em nuvem solta
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
export const prize1 = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
const users = functions.database.ref('/users/numbers')
console.log("")
return null;
});
Sinto que tenho uma boa ideia de como fazer isso, mas a sintaxe está me impedindo.
A coleção de usuários. Percorra cada documento aqui, ou seja, cada usuário. Em cada usuário vá para a coleção chamada números. Na coleção denominada números, percorra cada documento e encontre o campo de números para fazer a lógica / comparações.
Espero que isso possa ajudá-lo a entender a forma como meu banco de dados é organizado.
Você pode tentar assim:
let usersRef = db.collection('users');
let allUsers = usersRef.get();
.then(userSnapshot => {
userSnapshot.forEach(userDoc => {
userDoc.ref.collection('numbers').get().then(numSnapshot => {
numSnapshot.forEach(numDoc => {
console.log(numDoc.data().numbers);
// here you got your numbers document with the numbers field
});
});
});
})
.catch((error) => {
console.log("Error getting document: ", error);
});
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras