【问题标题】:What is the cost of updating multiple fields in a single call?在一次调用中更新多个字段的成本是多少?
【发布时间】:2020-04-22 11:56:24
【问题描述】:

documentation 中的Android 示例中,很明显我们可以在单个update() 调用中更新多个字段。我想知道,这个调用需要一次写入还是 n 次写入(n = 更新的字段数)?

// Assume the document contains:
// {
//   name: "Frank",
//   favorites: { food: "Pizza", color: "Blue", subject: "recess" }
//   age: 12
// }
//
// To update age and favorite color:
db.collection("users").document("frank")
        .update(
                "age", 13,
                "favorites.color", "Red"
        );

【问题讨论】:

    标签: android firebase google-cloud-firestore


    【解决方案1】:

    在一次调用中更新多个字段的成本是多少?

    无论您在一次 update() 调用中更新了多少字段,它总是会花费一次写入。

    【讨论】:

    • 删除一个字段怎么样? docRef.update("age", FieldValue.delete(),"favorites.color", "Red")
    • 完全相同同样的事情,仍然是一个单一的写操作。
    • 我非常感谢您的即时回答和回复 Alex。非常感谢!
    【解决方案2】:

    当然,更新应该计入writes。 我昨天再次开始为我的新项目使用 Firestore,并进行了 2 次写入操作。 我创建了 2 个包含多个字段的新文档,这花费了我 2 次写入。 然后我更新了一个文档中的 2 个字段,它只花了我 1 个。

    所以答案是,它应该只花费你 1 次写入。

    无论单个文档update()write() 中的字段数如何,写入计数都保持为1。

    【讨论】:

      猜你喜欢
      • 2021-04-04
      • 1970-01-01
      • 2015-10-31
      • 1970-01-01
      • 2010-09-18
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多