Firebase是否对同一更新的多次写入收费?
这可能是一个有点琐碎的问题,但我正在尝试最小化Firebase应用程序中的写入操作,并希望检查我当前的代码。假设我有一个Firebase系列,看起来像这样:Firebase是否对同一更新的多次写入收费?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,这可能是一个有点琐碎的问题,但我正在尝试最小化Firebase应用程序中的写入操作,并希望检查我当前的代码。假设我有一个Firebase系列,看起来像这样: conversations - someConversationId (<--document) - someMessageId1 (<-- object within document) - text: "Hey, what's up?", - dateSent: new
conversations
- someConversationId (<--document)
- someMessageId1 (<-- object within document)
- text: "Hey, what's up?",
- dateSent: new Date(2020, 1, 1),
- sentBy: "someonesUserId"
- someMessageId2 (<-- object within document)
- text: "Not much",
- dateSent: new Date(2020, 1, 2),
- sentBy: "someoneElsesUserId"
我的假设是这两种方法都会导致1次写入操作。是这样吗
我为什么问这个问题
我有一个文档,里面有一个对象。比如说,在这个对象中有5-10个属性。我希望能够在不覆盖整个对象的情况下覆盖对象中的某些属性,因为在前端,我只知道我要更新的属性中的2-3个,我想保留其余的属性。上面的第一个方法将覆盖整个对象,只保留3个属性,其他属性将被删除(我想是吧?)。第二个方法将只覆盖指定的3个属性,而对象上的任何其他属性都将保留。但是我想知道在这个实例中我将执行多少写操作,如果上面的第二个方法计为3次写,我可能会重新安排我的数据库结构。谢谢 无论您每次更新更改多少字段,也不管您如何表示这些字段应该更新。每次调用
update()
,仍然只需编写一个文档,这需要一次写入。无论每次更新更改多少字段,也不管您如何表示这些字段应该更新。每次调用update()
,仍然只需编写一个文档,这需要一次编写
firebase.firestore().collection("conversations").doc("conversationId").update({
someMessageId1: {
text: "New text",
dateSent: new Date(2020, 1, 2),
sentBy: "someNewUserId"
});
firebase.firestore().collection("conversations").doc("conversationId").update({
someMessageId1.text: "New text",
someMessageId1.dateSent: new Date(2020, 1, 2),
someMessageId1.sentBy: "someNewUserId"
});