Javascript 是否可以将.collection().doc()附加到doc.ref.path?
我想在下面的示例中的docPath中创建一个新集合。是否可以继续使用.collection().doc()。。。在docPath(doc.ref.path)之后?我经常遇到这样的错误:无法读取未定义的属性“collection” 出现错误的我的函数:Javascript 是否可以将.collection().doc()附加到doc.ref.path?,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我想在下面的示例中的docPath中创建一个新集合。是否可以继续使用.collection().doc()。。。在docPath(doc.ref.path)之后?我经常遇到这样的错误:无法读取未定义的属性“collection” 出现错误的我的函数: function comment(docPath) { var modalcomment = document.getElementById("modal-comment"); modalcomment.st
function comment(docPath) {
var modalcomment = document.getElementById("modal-comment");
modalcomment.style.display = "block";
var submitcomment = document.getElementById("submitcomment");
submitcomment.addEventListener('click', (e) => {
var commentinput = document.getElementById("comment");
db.docPath.collection('comments').doc().set({
comment: commentinput.value,
})
})
}
存储docPath变量的代码:
firebase.auth().onAuthStateChanged(function(user) {
var query = db.collectionGroup("userPosts")
query.get().then(querySnapshot => {
setupPosts(querySnapshot.docs)
})
const posts = document.querySelector('.posts');
const setupPosts = (data) => {
let html = '';
data.forEach(doc => {
var docPath = doc.ref.path;
console.log(docPath)
const post = doc.data();
const picURL = post.picURL;
let li = `<li class="post">
<div class="title">${post.title}</div>
<div class="content">${post.content}</div>
<button class="comment" onclick="comment('${docPath}')">Comment</button>
<button class="like" onclick="like('${docPath}')">Like</button>`;
li += (post.picURL ? `<img class="img" src="${post.picURL}" onclick="openImage('${picURL}')">` : ``);
li += `</li><br></br>`;
html += li
})
posts.innerHTML = html;
}
firebase.auth().onAuthStateChanged(函数(用户){
var query=db.collectionGroup(“userPosts”)
query.get().then(querySnapshot=>{
setupPosts(querySnapshot.docs)
})
const posts=document.querySelector('.posts');
const setupPosts=(数据)=>{
让html='';
data.forEach(doc=>{
var docPath=doc.ref.path;
console.log(docPath)
const post=doc.data();
const picURL=post.picURL;
让li=`
${post.title}
${post.content}
评论
像`;
li+=(post.picURL?`:``);
li+=`
`;
html+=li
})
posts.innerHTML=html;
}
docPath显示正确的存储数据(文档的正确路径)否,不能使用字符串形式的
doc.ref.path
。不能对字符串对象调用collection()
也许您想存储的值,它是一个对象。这肯定有一种方法,您可以使用它来构建对该文档下的子集合的更深入引用。因此,不可能使用doc.ref.path创建新集合?还有其他方法吗?我在回答中给了您另一种方法。因此,这意味着t我可以将.collection()直接附加到doc.ref上。我可以用doc.ref更改doc.ref.path,这对我有帮助吗?我建议您尝试一下,是的。错误:docref.collection()…不是一个函数。docref=doc.ref