【问题标题】:Firestore web multiple posts under same uidFirestore Web 多个帖子在同一 uid 下
【发布时间】:2020-08-27 22:14:35
【问题描述】:

Firestore reference我修复了大部分其他问题,但我今天一直坚持的是如何让用户在同一个 uid 下拥有多个帖子。 每个帖子都在 Post:"" 字段下,我尝试的一切都不起作用。有什么提示或解决方案吗?

const textToSave = inputTextField.value;
docRef.collection("ask").doc(user.uid).add({
  Post: textToSave
}).then(function () {
  console.log('saved')
}).catch(function (error) {
  console.log('error');
})

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    您正试图将add() 一个文档转换为一个无效的文档。文档只能添加到集合中。你可以这样做:

    docRef.collection("ask")
      .doc(user.uid)
      .collection("posts")
      .add({Post: textToSave})
    

    或者您可以将多个帖子存储在同一个文档中的一个数组中,例如:

    docRef.collection("ask")
      .doc(user.uid)
      .update({
        posts: firebase.firestore.FieldValue.arrayUnion({Post: textToSave})
      })
    

    【讨论】:

    • 哦,我完全理解第一个。但是,如果它们都具有相同的“字段值标题”(帖子:),那不会导致某种错误吗?我会赞成你的评论,但我在这里只有 1 个声誉。
    • 当您执行add() 时,它会自动创建一个具有随机 ID 的新文档。 add() 本质上是 .doc().set({...}) 的快捷方式,其中 doc() 是对具有自动生成 ID 的新文档的引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    相关资源
    最近更新 更多