向 PouchDB 文档添加附加附件

洛米托

我试图在我的电子应用程序的 PouchDB 中向我的文档添加额外的附件。但是我只能添加最后一个附件,旧附件被覆盖。

以下数据不会以添加新文件的方式进行修改:

_attachments":{"someFile.jpg":{"content_type":"image/jpeg","revpos":5,"length":38718,"digest":"md5-X+MOUwdHmNeORSl6xdtZUg=="}

我应该首先阅读文档,然后使用以下方法使用多个附件添加其他文件来重新创建它:

db.put({
  _id: 'mydoc',
  _attachments: {
    'myattachment1.txt': {
      content_type: 'text/plain',
      data: blob1
    },
    'myattachment2.txt': {
      content_type: 'text/plain',
      data: blob2
    },
    'myattachment3.txt': {
      content_type: 'text/plain',
      data: blob3
    },
    // etc.
  }
}); 

?

您可以在下面看到我尝试运行的部分代码,以检查是否可以将两个附件添加到一个文档中(实际上我尝试使用同一文件两次以简化测试):

pdb.putAttachment(id, name, rev, file, type).then(function (result) {
                                                                              console.log("att saved:");
                                                                              console.log(result);
                                                                            }).catch(function (err) {
                                                                              console.log(err);
                                                                            });

var newFileName = "new" + name;
pdb.putAttachment(id, newFileName, rev, file, type).then(function (result) {
                                                                                  console.log("att saved 2:");
                                                                                  console.log(result);
                                                                                }).catch(function (err) {
                                                                                  console.log(err);
                                                                                });

结果是:

Object {ok: true, id: "1489351796004", rev: "28-a4c41eff6fbdde8a722a920c9d5a1390"}
id
:
"1489351796004"
ok
:
true
rev
:
"28-a4c41eff6fbdde8a722a920c9d5a1390"

CustomPouchError {status: 409, name: "conflict", message: "Document update conflict", error: true, id: "1489351796004"}
error
:
true
id
:
"1489351796004"
message
:
"Document update conflict"
name
:
"conflict"
status
:
409

看起来我不明白什么或者我不知道如何正确使用 putAttachment。

我还将添加 sqlite 中的数据是什么样子的(按顺序表,json 行):

{...,"_attachments":{"testPicture.jpg":{"content_type":"image/jpeg","revpos":34,"length":357677,"digest":"md5-Bjqd6RHsvlCsDkBKe0r7bg=="}}}

这里的问题是如何向结构添加另一个附件。不知何故,我无法通过 putAttachment 实现

伯恩哈德·格施万特纳

你的问题,尤其是代码很难阅读,所以错误不是那么容易发现:你没有等待承诺得到解决。当您更新具有修订版 1 的文档时,您必须等待结果,从那里读取修订版,然后才写入第二个附件。这将是我(未经测试)对您的代码的看法:

pdb.putAttachment(id, name, rev, file, type)
.then(function (result) {
  // Use the new revision here:
  return putAttachment(id, newFileName, result.rev, file, type);
}).then(function (result) {
  console.log(result);
}).catch(function (err) {
  console.log(err);
});

如果您对它们进行正确编码,则可以一次添加两个附件,但您必须自己处理。我建议您不要这样做——最好使用 PouchDB 提供的抽象。

也不要过多地分析底层数据结构,因为根据所使用的存储适配器,数据存储可能会有很大差异。不同的适配器如何存储它们的数据非常有趣,但永远不要依赖你发现的任何东西——数据格式可能会改变。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向Jira的api添加附件

来自分类Dev

如果不添加附件,PouchDB 代码将无法工作

来自分类Dev

在CouchDB中向文档添加附件时出现问题

来自分类Dev

如何在Java中向mailto添加附件

来自分类Dev

在 MTM 中向测试用例添加附件

来自分类Dev

无法向 Office JS 加载项添加附件

来自分类Dev

向 WordPress 插件发送的电子邮件添加附件

来自分类Dev

Python从函数向电子邮件添加附件

来自分类Dev

向网站添加附加安全性

来自分类Dev

在INSERTion期间向表值参数添加附加列

来自分类Dev

如何通过R向MySQL添加附加数据?

来自分类Dev

向MySQL查询添加附加条件

来自分类Dev

向 Lua 中的表添加附加值

来自分类Dev

向悬停文本标签添加附加文本

来自分类Dev

Xcode:使用选择器向电子邮件添加附件

来自分类Dev

如何通过C#在ALM OTA中向测试集添加附件?

来自分类Dev

如何在curl上向电子邮件添加附件

来自分类Dev

在m子上向电子邮件添加附件的示例

来自分类Dev

Lumisoft.net IMAP服务器无法向邮件添加附件

来自分类Dev

向“ Google网上论坛”发送电子邮件添加附件并保存表格

来自分类Dev

无法使用Outlook Rest API在Outlook外接程序中向邮件添加附件

来自分类常见问题

向geom_col添加附加订书钉,其值为零R

来自分类Dev

向geom_col添加附加订书钉,其值为零R

来自分类Dev

如何向正在运行的进程中添加附加的“关闭”命令?

来自分类Dev

向 select 语句添加附加字段时出现语法错误

来自分类Dev

如何在 Xamarin 中向 hockeyapp (appcenter) 崩溃报告添加附加信息?

来自分类Dev

需要帮助弄清楚如何在VB.NET中向电子邮件添加附件

来自分类Dev

需要帮助弄清楚如何在VB.NET中向电子邮件添加附件

来自分类Dev

无法在MS bot框架中向邮件添加附件:对象引用未设置为对象的实例

Related 相关文章

  1. 1

    向Jira的api添加附件

  2. 2

    如果不添加附件,PouchDB 代码将无法工作

  3. 3

    在CouchDB中向文档添加附件时出现问题

  4. 4

    如何在Java中向mailto添加附件

  5. 5

    在 MTM 中向测试用例添加附件

  6. 6

    无法向 Office JS 加载项添加附件

  7. 7

    向 WordPress 插件发送的电子邮件添加附件

  8. 8

    Python从函数向电子邮件添加附件

  9. 9

    向网站添加附加安全性

  10. 10

    在INSERTion期间向表值参数添加附加列

  11. 11

    如何通过R向MySQL添加附加数据?

  12. 12

    向MySQL查询添加附加条件

  13. 13

    向 Lua 中的表添加附加值

  14. 14

    向悬停文本标签添加附加文本

  15. 15

    Xcode:使用选择器向电子邮件添加附件

  16. 16

    如何通过C#在ALM OTA中向测试集添加附件?

  17. 17

    如何在curl上向电子邮件添加附件

  18. 18

    在m子上向电子邮件添加附件的示例

  19. 19

    Lumisoft.net IMAP服务器无法向邮件添加附件

  20. 20

    向“ Google网上论坛”发送电子邮件添加附件并保存表格

  21. 21

    无法使用Outlook Rest API在Outlook外接程序中向邮件添加附件

  22. 22

    向geom_col添加附加订书钉,其值为零R

  23. 23

    向geom_col添加附加订书钉,其值为零R

  24. 24

    如何向正在运行的进程中添加附加的“关闭”命令?

  25. 25

    向 select 语句添加附加字段时出现语法错误

  26. 26

    如何在 Xamarin 中向 hockeyapp (appcenter) 崩溃报告添加附加信息?

  27. 27

    需要帮助弄清楚如何在VB.NET中向电子邮件添加附件

  28. 28

    需要帮助弄清楚如何在VB.NET中向电子邮件添加附件

  29. 29

    无法在MS bot框架中向邮件添加附件:对象引用未设置为对象的实例

热门标签

归档