繁体   English   中英

如何在firestore查询中使用变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM