Executando verificação de segurança...
1

Uma dúvida simples sobre "getDocs" em "firebase/firestore". Alguém pode ajudar?

Como eu limito o número de campos retornados em funções getDocs em exemplos como esse? Eu utilizei alguns exemplos com base em sugestões, mas nenhum deles funcionou.

const retorno = await getDocs(
query(
collection(db, 'pessoas'),
where(
'index',
'array-contains-any',
comp.$API.util.mountIndex(field)
)
// select(['nome', 'descricao', 'palavraschave']), (RETORNA UM ERRO DESSA MANEIRA)
)
)

Carregando publicação patrocinada...
2

Normalmente uso collectionRef :
const lastThreeRes = await citiesRef.orderBy('name', 'desc').limit(3).get();

Talvez no seu caso seja mais ou menos assim :

'''javascript
import { collection, query, limit, where } from "firebase/firestore";
import { firestore } from "./firebase";

const ref = query(
collection(firestore, "products"),
limit(10),
where("state", "==", "active")
);
'''

Editando aqui, vc quer limitar os fields entao seria isso aqui:

const snap = firestore
.collection("purchases")
.where("ErrorID", "==", "0")
.select("Order", "Amount")
.get();

Select aceita strings e nao array of strings pelo que vi.

1
1

Isso! Estou utilizando a versão 9.12.1. A mensagem de erro é "export 'select' not found in 'firebase/firestore'". Tem alguns dias que comecei a fazer testes com o Firebase e empaquei justamente nesse ponto. Já li e reli a documentação e testei várias soluções propostas, mas nenhuma delas satisfez minha dúvida até o momento.

2

Cara... não lembro de ter visto select() na api da versão 9. Eles enxugaram bastante pra diminuir o tamanho do pacote importado. Por exemplo: um simples OU eles removeram e você precisa fazer as duas consultas e juntar o resultado no final.
Então eu creio que, por design, eles removeram mesmo. Neste caso, você faz um map e tá tudo resolvido.

1

Cara, muito obrigado! Sua resposta me lembrou de um detalhe que eu ainda não tinha dado a devida atenção, que é o fato de que o Firestore não segue a mesma lógia do SQL. Já estou restruturando aqui minha base de dados de testes e me aprofundando mais na "filosofia" do Firestore para tentar deixar mais próxima do ideal.