【发布时间】:2020-05-29 15:32:03
【问题描述】:
我正在尝试使用填充了文档 ID 的变量从 Firebase 集合中读取单个文档。文档 id 正确且文档存在于集合中。 当我使用变量启动代码时,似乎读取成功,但我感兴趣的字段中没有数据。(参见下面的代码)。
db.collection("Pswref").doc(clpdocid).get().then((docRef) => {
const SingleRecord = docRef.data();
console.log('yyyyyy - Great document found using fixed id for doc id ', docRef.data());
console.log('yyyyyy - Title from database = >', SingleRecord.title);
console.log('yyyyyy - Doc id ', clpdocid);
})
.catch((error) => {
console.error('yyyyyy - Error getting document ', error);
});
但是,当我在 get 语句中对文档 ID 进行硬编码时,一切正常,我可以访问所需的信息。 (见下面的代码)。
db.collection("Pswref").doc("NoA6EBijcgsBIIOZCsWC").get().then((docRef) => {
const SingleRecord = docRef.data();
console.log('xxxxxx - Great document found using fixed id for doc id ',docRef.data());
console.log('xxxxxx - Title from database = >', SingleRecord.title);
})
.catch((error) => {
console.error('xxxxxx - Error getting document ', error);
});
图像显示了根据脚本的 console.log 输出。 注意:您会注意到,上述查询与所使用的 doc id 引用完全相同,并且根据通过控制台生成的输出,我得到了不同的结果。
有人可以帮助我了解为什么会发生这种情况以及解决方案可能是什么吗?
我已对给出错误的行进行了注释并重新运行,以便控制台中的输出可以显示 clpdocid 实际上已正确填充。(请参阅下面的片段),然后在新图像上输出。
db.collection("Pswref").doc(clpdocid).get().then((docRef) => {
const SingleRecord = docRef.data();
console.log('yyyyyy - Great document found using fixed id for doc id ', docRef.data());
//console.log('yyyyyy - Title from database = >', SingleRecord.title);
console.log('yyyyyy - Doc id ', clpdocid);
})
.catch((error) => {
console.error('yyyyyy - Error getting document ', error);
});
【问题讨论】:
标签: javascript google-cloud-firestore