[英]how to use variable in firestore query
我使用 firebase firestore db。 这个项目有两个主要的集合“securecollection”和“publiccollection”。 安全集合是所有重要数据的存储位置,并且只有经过身份验证的用户才能访问。 但是为了让来宾用户可以看到某些信息,我将它们复制到 publiccollection 中。 然后,我想将这个新创建的公共文档的 id 保存在安全文档中。
当我在查询语句中编写变量db.collection('securecollection').doc(secureDocid).update({
时,出现此错误:
Uncaught (in promise) TypeError: o.indexOf is not a function
如果我将 id 写为文本db.collection('securecollection').doc('7llDqIWlmE5VM69Zzle2').update({
,则代码有效。
这是我的代码:
function toggleOlustur(secureDocid) {
const db = firebase.firestore();
db.collection("securecollection").get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
if (doc.id == secureDocid) {
db.collection("publiccollection").add({
oad: doc.data().oad,
osad: doc.data().osad,
opuan: doc.data().opuan,
odtarih: doc.data().odtarih,
odurum: "1",
})
.then((docRef) => {
db.collection('securecollection').doc(secureDocid).update({
preference: docRef.id
})
});
}
});
});
}
听起来您的 secureDocid 不是字符串值。 如果您使用console.log(JSON.stringify(secureDocid))
您可以看到它输出的内容,这可能有助于找出问题所在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.