【问题标题】:Javascript store (firebase)firestore data always overwrite the first part dataJavascript 存储 (firebase)firestore 数据总是覆盖第一部分数据
【发布时间】:2020-01-29 10:04:10
【问题描述】:

我使用 html、javascript 和 firebase 来创建留言板,并存储数据。 但是我需要保存数据,如果userID(ex:0001)相同,则可以创建对象

{name:"userName",
 date:"2019",
description:"the message content"};

现在如果有新数据,我不会覆盖

{name:"userName",
 date:"2019",
description:"the message content"};

数据。

如果我有其他消息,并且userId相同(0001),则对象是

 {name:"userName2(displayname)",
     date:"2019",
    description:"the other message content"};

数据。

我不想覆盖第一部分数据,我需要在列上插入新数据。

是否可以在列中重复其他对象?

下面是我的javascript代码,代码总是覆盖第一部分数据。:(

 firebase.initializeApp(firebaseConfig);

    var db = firebase.firestore();

  var userData2 = {name:"userName2(displayname)",
          date:"2019",
          description:"the other message content"};

 db.collection("suggest").doc("0001").set(userData2,{merge: false})
          .then(function() {
              console.log("Successfully written!");
          })
          .catch(function(error) {
              console.error("Error writing: ", error);
          });

非常感谢。

【问题讨论】:

  • 数据不能像数组一样,重复其他相同的对象吗?
  • 抱歉,pushid 是什么?

标签: javascript html firebase google-cloud-firestore


【解决方案1】:

改变这个:

db.collection("suggest").doc("0001").set(userData2,{merge: false})
          .then(function() {
              console.log("Successfully written!");
          })
          .catch(function(error) {
              console.error("Error writing: ", error);
          });

进入这个:

db.collection("suggest").add(userData2)
          .then(function() {
              console.log("Successfully written!");
          })
          .catch(function(error) {
              console.error("Error writing: ", error);
          });

add() 方法将为每个文档生成一个唯一的 ID。

add

add(data: DocumentData): Promise<DocumentReference>

使用指定的数据将新文档添加到此集合中,并自动为其分配文档 ID。

【讨论】:

猜你喜欢
  • 2018-07-15
  • 2020-06-19
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
  • 2023-03-18
  • 2017-09-04
  • 1970-01-01
  • 2018-03-06
相关资源
最近更新 更多