如何在不丢失现有附件的情况下更新 couchdb 文档
How to update couchdb document without losing existing attachment
我想更新 couchdb 文档中已有附件的字段。
如果我使用当前修订更新新字段,则附件将被删除。有没有办法让我在不丢失附件的情况下更新字段?我正在使用 Ektorp API 来更新文档。
问候
苏尼尔.
当您 GET
包含附件的文档时,它将包含附件的 "stub":
{
"_id":"attachment_doc",
"_rev":1589456116,
"_attachments":
{
"foo.txt":
{
"stub":true,
"content_type":"text\/plain",
"length":29
}
}
}
当您要更新文档时(例如通过 PUT
),您必须包含 "stub",否则 Couch 将删除附件。
编辑:
我错过了你正在使用 Erktop。
保留附件存根的最简单方法应该是将您的域 类 扩展 CouchDbDocument
.
如果由于某种原因您不能这样做,您需要确保对存根进行(反)序列化。您可以使用 here.
中的实现
我想更新 couchdb 文档中已有附件的字段。 如果我使用当前修订更新新字段,则附件将被删除。有没有办法让我在不丢失附件的情况下更新字段?我正在使用 Ektorp API 来更新文档。
问候 苏尼尔.
当您 GET
包含附件的文档时,它将包含附件的 "stub":
{
"_id":"attachment_doc",
"_rev":1589456116,
"_attachments":
{
"foo.txt":
{
"stub":true,
"content_type":"text\/plain",
"length":29
}
}
}
当您要更新文档时(例如通过 PUT
),您必须包含 "stub",否则 Couch 将删除附件。
编辑: 我错过了你正在使用 Erktop。
保留附件存根的最简单方法应该是将您的域 类 扩展 CouchDbDocument
.
如果由于某种原因您不能这样做,您需要确保对存根进行(反)序列化。您可以使用 here.
中的实现