首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于PouchDB的NodeJS文档检索

基于PouchDB的NodeJS文档检索
EN

Stack Overflow用户
提问于 2014-05-06 13:19:13
回答 1查看 588关注 0票数 1

我有一个集成了AngularJS的PouchDB应用程序。我想在PouchDB中添加一个文档,但从文档中(如下)看不太清楚:

代码语言:javascript
复制
 db.putAttachment(docId, attachmentId, rev, doc, type, [callback]);

将二进制对象附加到文档。PouchDB的大多数API都处理JSON,但是如果您处理的是大型二进制数据(如PNG),如果只将它们作为base64 64或十六进制编码的字符串,则可能会导致性能或存储损失。在这些情况下,您可以将二进制数据存储为附件。有关详细信息,请参阅附件上的CouchDB文档。 示例用法:

代码语言:javascript
复制
 var doc = new Blob(["It's a God awful small affair"]);
 db.putAttachment('a', 'text', rev, doc, 'text/plain', function(err, res) {})

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

代码语言:javascript
复制
 var doc = new Buffer("It's a God awful small affair");

在我的应用程序中,我已经达到了这样的程度:

代码语言:javascript
复制
var file = document.getElementById('file');

现在,如何使用缓冲区将我的文件添加到DB?此外,是否可以自动生成有效的docID、attachementID和rev?微软办公文档的类型是什么?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-05-06 18:35:30

使用Blobs肯定会让人感到困惑。对于PouchDB,我们编写了一个欢迎您使用的Blob shim库,自述自述也包含了一些示例来帮助您入门。基本上,您只需要传递blob数据和内容类型。

作为另一种选择,您可以始终只需update()文档,并将附件作为base64 64编码的字符串添加到_attachments对象中,我常常觉得这更容易。

编辑:哇哦,没看到你在Node.js上。查看这段代码,了解如何在PouchDB单元测试中生成缓冲区/Blobs。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23495878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档