Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';无法从Firebase Firestore获取字段_Javascript_Firebase_Google Cloud Firestore_Google Cloud Storage - Fatal编程技术网

Javascript Can';无法从Firebase Firestore获取字段

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 => {

我已尝试从Firebase Firestore检索保存的图片URL,但不断出现以下错误:

未捕获(承诺中)TypeError:无法读取未定义的属性“picURL”

我尝试了一个代码,您可以在下面看到。这是从“imgRef”开始的

HTML:


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(); 常数李=`
  • ${post.title} ${post.content}
    错误告诉您,
    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
        }
    })