Javascript NodeJS上带有PockDB的文档附件

Javascript NodeJS上带有PockDB的文档附件,javascript,node.js,angularjs,pouchdb,Javascript,Node.js,Angularjs,Pouchdb,我有一个AngularJS应用程序,它集成了数据库。我想在数据库中添加一个文档,但文档(如下)中不太清楚: 将二进制对象附加到文档。BackDB的大部分API交易 使用JSON,但是如果您正在处理大型二进制数据(例如 PNGs),如果您只是 将它们作为base64或十六进制编码字符串包含。在这些情况下,您 可以将二进制数据存储为附件。有关详细信息,请参阅 关于附件的CouchDB文档 用法示例: 在节点中,必须使用缓冲区而不是Blob: 在我的应用程序中,我已经做到了: var file = d

我有一个AngularJS应用程序,它集成了数据库。我想在数据库中添加一个文档,但文档(如下)中不太清楚:

将二进制对象附加到文档。BackDB的大部分API交易 使用JSON,但是如果您正在处理大型二进制数据(例如 PNGs),如果您只是 将它们作为base64或十六进制编码字符串包含。在这些情况下,您 可以将二进制数据存储为附件。有关详细信息,请参阅 关于附件的CouchDB文档

用法示例:

在节点中,必须使用缓冲区而不是Blob:

在我的应用程序中,我已经做到了:

var file = document.getElementById('file');
现在,如何使用缓冲区将文件添加到数据库中?此外,是否可以自动生成有效的docID、attachementID和rev?MS office文档的类型是什么


谢谢

使用水滴肯定会让人困惑。对于PockDB,我们编写了一个欢迎您使用的自述文件,该自述文件还包括一些示例,帮助您入门。基本上,您只需要将blob数据与内容类型一起传递

另一种选择是,您可以始终只
update()
文档,并将附件作为base64编码字符串添加到
\u attachments
对象中,我通常会发现这更容易

编辑:哎呀,没看到你在Node.js上。查看如何在PockDB单元测试中创建缓冲区/blob的示例

 var doc = new Blob(["It's a God awful small affair"]);
 db.putAttachment('a', 'text', rev, doc, 'text/plain', function(err, res) {})
 var doc = new Buffer("It's a God awful small affair");
var file = document.getElementById('file');