为什么有两种更新文件的方法?

Why are there two ways to update documents?

作为 CouchDB 初学者,我很难理解如何更新文档。

当我阅读文档时,我发现这让我很困惑:

1) 更新现有文档

To update an existing document you must specify the current revision number within the _rev parameter.

来源:Chapter 10.4.1 /db/doc

2) 更新函数

Update handlers are functions that clients can request to invoke server-side logic that will create or update a document.

来源:Chapter 6.1.4 Design Documents

您能告诉我您更喜欢哪种方式来更新您的文档吗?


编辑 1:

假设数据结构只是一个包含一些基本字段的简单 car 文档。

{
    "_id": "123",
    "name": "911",
    "brand": "Porsche",
    "maxHP": "100",
    "owner": "Lorna"
}

现在 owner 改变了,你还会使用选项 1 吗?选项 1 有很大的缺点,因为我不能只编辑一个字段。我需要先检索每个字段,只编辑 owner 字段,然后发回整个文档。我刚刚试过了,我发现这很啰嗦。嗯...

大多数时候您想选择选项 1 "Update an existing document";这对将数据存储在数据库中的标准文档进行操作。另一个选项涉及设计文档,例如视图(也是文档,这对新 CouchDB 用户来说肯定是混淆的),这是完全不同的东西。

坚持选项 1,祝你好运:)