Javascript Can';无法从Firebase Firestore获取字段
我已尝试从Firebase Firestore检索保存的图片URL,但不断出现以下错误: 未捕获(承诺中)TypeError:无法读取未定义的属性“picURL” 我尝试了一个代码,您可以在下面看到。这是从“imgRef”开始的 HTML:Javascript Can';无法从Firebase Firestore获取字段,javascript,firebase,google-cloud-firestore,google-cloud-storage,Javascript,Firebase,Google Cloud Firestore,Google Cloud Storage,我已尝试从Firebase Firestore检索保存的图片URL,但不断出现以下错误: 未捕获(承诺中)TypeError:无法读取未定义的属性“picURL” 我尝试了一个代码,您可以在下面看到。这是从“imgRef”开始的 HTML: JavaScript: var postDocRef = db.collection('posts').doc(uid).collection('userPosts') postDocRef.get().then(snapshot => {
JavaScript:
var postDocRef = db.collection('posts').doc(uid).collection('userPosts')
postDocRef.get().then(snapshot => {
setupPosts(snapshot.docs)
})
const posts = document.querySelector('.posts');
const setupPosts = (data) => {
let html = '';
data.forEach(doc => {
var docRefIDpost = docRef.id
const post = doc.data();
const li = `
<li>
<div class="title">${post.title}</div>
<div class="content">${post.content}</div>
<img class="img">
</li>
`;
var imgRef = db.collection('posts').doc(uid).collection('userPosts').doc(docRefIDpost);
imgRef.get().then(function(snapshot) {
const picURL = snapshot.data().picURL
if (picURL.exists) {
console.log(snapshot.data)
console.log(picURL)
var imgpost = document.querySelector(".img");
imgpost.src = picURL
}
})
html += li
})
posts.innerHTML = html;
}
});
var postDocRef=db.collection('posts').doc(uid).collection('userPosts'))
postDocRef.get()。然后(快照=>{
setupPosts(snapshot.docs)
})
const posts=document.querySelector('.posts');
const setupPosts=(数据)=>{
让html='';
data.forEach(doc=>{
var docRefIDpost=docRef.id
const post=doc.data();
常数李=`
错误告诉您,
snapshot.data()
返回未定义。正如您从API文档中看到的,当未找到请求的文档时,将返回未定义。此处不清楚原因,但您的代码应在访问属性之前先检查
imgRef.get().then(function(snapshot) {
const data = snapshot.data()
if (data) {
const picURL = data.picURL
}
else {
// decide what you want to do if the document doesn't exist
}
})
imgRef.get().then(function(snapshot) {
const data = snapshot.data()
if (data) {
const picURL = data.picURL
}
else {
// decide what you want to do if the document doesn't exist
}
})