作者:如哽在喉_495 | 来源:互联网 | 2023-08-13 15:50
篇首语:本文由编程笔记#小编为大家整理,主要介绍了Firebase查询:“where”子句不起作用,继续返回所有文档相关的知识,希望对你有一定的参考价值。
使用id == "1112"
获取成员并且它无法正常工作
var query = this.afs.collection('members', ref => ref.where('id', '==', "1112"))
query.ref.get().then(doc => {
doc.forEach(postDoc => {
console.log(postDoc.data());
});
})
答案
通常你定义一个指向文档或集合的ref
,你可以添加一个.where
。你在裁判上发射.get
。 ...改写它说
var ref = [whatever SDK/homepath].firestore.collection('members).where('id', '==', "1112");
然后把那个裁判传给你的.get
。并注意您似乎将数字存储为字符串,可能会对查询产生负面影响/甩掉。
另一答案
您正在接受查询,然后询问其ref
,它返回您创建查询的集合。这意味着您在整个集合上调用get
,它返回所有文档。
要仅获取与查询中的条件匹配的文档,请直接在查询上调用get
。所以:
query.get().then(doc => {
...
或者,您可以绕过AngularFire2,因为在这种情况下它没有任何好处。这意味着你最终得到:
ref.where('id', '==', "1112").get().then(doc => {
...