Tag: pouchdb

在NodeJS上使用PouchDB进行文档附件

我有一个集成了PouchDB的AngularJS应用程序。 我想向PouchDB添加一个文档,但是从下面的文档中不太清楚: db.putAttachment(docId, attachmentId, rev, doc, type, [callback]); 将二进制对象附加到文档。 PouchDB的大部分API都处理JSON,但是如果你处理的是大的二进制数据(比如PNG),那么如果你简单地把它们包含为base64或者hex编码的string的话,你可能会遭受性能或者存储惩罚。 在这些情况下,您可以将二进制数据存储为附件。 有关详细信息,请参阅附件上的CouchDB文档。 用法示例: var doc = new Blob(["It's a God awful small affair"]); db.putAttachment('a', 'text', rev, doc, 'text/plain', function(err, res) {}) 在Node中,您必须使用缓冲区而不是Blob: var doc = new Buffer("It's a God awful small affair"); 在我的应用程序中,我已经达到了以下的地步: var file = document.getElementById('file'); 现在,我如何使用缓冲区来将我的文件添加到数据库? 另外,是否有可能自动生成一个有效的docID,attachementID和rev? 那么MS Office文档的types是什么? 谢谢!

在CouchDB(Cloudant < – > PouchDB)中实现“数据库每用户模式”

任何人都可以提供一个简单的例子,如何在CouchDB(Cloudant < – > PouchDB)中实现“数据库每用户模式”? 用户使用Auth0(jwt)进行身份validation。 我无法find关于这个主题的东西。 任何帮助,将不胜感激!

PouchDB与LevelDB适配器应该创build一个本地文件?

本小册子示例( Leaflet.TileLayer.PouchDBCached )使用“ idb ”适配器,对于电子/节点,它看起来像我想使用“leveldb”适配器。 所以我按照这里的指示: Node.js中的PouchDB 在Node.js中,适配器的情况比浏览器简单得多。 默认情况下,如果你创build一个像这样的PouchDB: var pouch = new PouchDB('./ path / to / db'); 那么将在目录./path/to/db中创build一个基于LevelDB的数据库。 LevelDB实现使用LevelDOWN。 在我的“main.js”(电子入口点),我创build一个像这样的数据库: var dbPath = path.join(__dirname, 'main-db'); var myDB = new PouchDB(dbPath); console.log('myDB', myDB.adapter); 尽pipe适配器types被报告为“leveldb”,但它并不显示在磁盘上。 问题:数据库在哪里创build? 我查看了我的app目录中的node_modules / pouchdb目录。 我甚至find“隐藏的文件”(这是在OSX上)。 是什么赋予了? 如果我将数据库实例转储到控制台,它看起来像创build(在内存中)。 我是否“做错了”?

一对多的关系袋实例总是必须在两端更新?

如果我将一本书添加到关系包实例(其中已经包含id为1的作者具有书籍6和7),如下所示: then(function() { return db.rel.save('book', { title: 'Winny the Pooh', id: 8, author: 1 }) 然后logging作者的查询是这样的: }).then(function() { var result = db.rel.find('author', 1); result.then(function(data) { console.log(data) }); 结果是这样的: { authors: [ { name: 'George RR Martin', books: [Object], id: 1, rev: '1-f07514693adc67c175bb1919b979dfcd' } ], books: [ { title: 'A Game of Thrones', author: 1, id: […]

如何从我的nodejs应用程序configurationCouchDB

我正在尝试创build一个自托pipe的应用程序。 这个应用程序将提供一个自定义的快递服务器与一些路线,并提供使用pouchdb服务器的CouchDB访问。 我希望节点服务器能够configuration数据库并创buildpipe理员用户名/密码,然后创buildangular色function。 我如何从我的nodejs应用程序configurationCouchDB? 我想要: 停止pipe理员派对并使用密码创buildpipe理员。 我发现Web客户端使用express-pouchdb向负载中的密码发送PUT请求到http://localhost:5984/_node/couchdb@localhost/_config/admins/<username> ,但是我想使用express-pouchdb HTTP是不可能的 创build用户angular色我想设置几个angular色 设置权限哪些angular色可以更新哪些数据库,什么数据库谁是可读的等… 请注意,我不能直接向CouchDB发出http请求,因为我在我的节点应用程序中使用pouch-db-express将db分配给客户端,我希望我的快速应用程序能够configuration由couchDBpipe理的实例pouchdb快车

PouchDB基本身份validation不适用于同步网关

当我尝试使用同步网关从PouchDB同步到couchbase服务器时,出现以下错误: XMLHttpRequest无法加载http:// localhost:4984 / test / 。 请求标头字段预检响应中的Access-Control-Allow-Headers不允许授权。 我试图设置头,即使这样我不能摆脱这个错误。 这是我的同步网关configuration文件 sync-gateway-config.json:: { "log":["*"], "databases": { "buildercycle": { "server":"http://localhost:8091", "bucket": "default", "users": { "GUEST": { "disabled": false, "admin_channels": ["*"] } }, "sync":`function(doc, oldDoc) { if (doc.type == "sports"){ channel(doc.type); access(doc.owner,doc.type); } else { channel(doc.type); access(doc.owner,doc.type); } }` } }, "CORS": { "Origin": ["http://localhost:8000","http://localhost:8083", "http://localhost:4985"], "LoginOrigin": ["http://localhost:8000","http://localhost:8083","http://localhost:4985"], […]

启用CORS for PouchDB以使用CouchDB

按照这个教程: http : //pouchdb.com/guides/setup-couchdb.html ,我能够安装CouchDB并设置它,然后我安装了Node.js,以便能够使用npm来设置CORS ,但是当我做了我得到了以下错误:'错误:EACCES,mkdir'/ usr / local / lib / node_modules / add-cors-to-couchdb'…请尝试以root用户身份重新运行此命令。 。不好的代码0' 任何帮助?

同步pouchdb和couchdb之间的视图

我已经能够将数据从我的cloudant实例同步到基于nodejs的pouchdb,但是我需要设置辅助search索引,因此我在couchdb实例上创build了一个视图,但是我无法在同步的pouchdb实例中看到它。 我在云中看到,在所有文档中,但是在同步并调用pouchdb上的alldocs之后,它不在那里。 另外,我正在使用pouchdb-find插件,我无法引用二级索引search字段。 当然,从pouchdb如果设置二级索引,它工作正常。 我错过了什么吗? 同步不会复制PouchDB中的devise文档吗? 如果不是,创build一个持续二级索引的最佳方法是什么? 任何好的文档呢? (Nolan ….?)说到文档或支持,是否有IRC机房或其他用户社区的couchdb的实时支持? 感谢您的关注,Paul

邮袋查询阻止了dom

这里是我的代码来testingpouchdb查询: 主文件: var myAudio = new Audio("http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C% 20Major.mp3"); myAudio.play(); var worker = new Worker('worker.js'); worker.postMessage("start worker"); worker.addEventListener('message', function(e) { console.log('Worker said: ', e.data); }, false); Worker.js: importScripts("pouchdb-5.2.0.min.js"); self.addEventListener('message', function(e) { queryDocs(); }, false); function queryDocs(){ localDB.allDocs({ include_docs: true, attachments: true }, function(err, response) { if (err) { return console.log(err); } self.postMessage("returned docs:", response); }); } […]

请求反馈:使用客户端复制(pouchdb)为多个用户/帐户设置Couchdb

在进入开发阶段之前,我希望获得关于我正在考虑的改变的反馈意见,从mongo移动到沙发。 基本上我有一个webapp,用来帮助组织用户活动(todolist,日历,笔记,日记)。 它目前使用mongodb,但我正在考虑将其移动到沙发上,主要是由于沙发的复制能力和clientdb交互(pouchdb)。 我在浏览器上使用了localstorage,在mongo的支持下有一个类似的本地安装,但是我正在寻找一个更成熟的解决scheme。 由于couchdb与mongodb不同,我想每个用户都应该有自己的沙发数据库,​​他们的文档是我的每个应用程序组件。 基本上我必须通过本地数据库复制以及安全性来将所有事情都提高一级。 我有3个问题。 1)我认为沙发没有文档级别的安全/authentication,对吗? (因此,我把每个用户的资产移动到他们自己的数据库,好主意?) 2)我的计划是有用户login到网站,然后我的后端nodejs代码validation他们,并发送一些auth /会话令牌。 然后,客户端上的javascript使用其本地pouchdb数据来设置自身,并将复制请求直接发送到couchdb服务器(使用从服务器端进程获得的auth令牌)。 他们应该只能访问他们的数据库,因为我可以做每个数据库身份validation访问(正确?)你怎么看待这个设置? 它应该工作? 3)关于couchdb服务提供商,为什么他们的沙发版本差异如此之大? IE,happycouch,1.6.1,虹膜1.5,cloudant,1.0.2? 而且我也听说有关couchdb 2.0即将推出…我想要使用cloudant,但1.0.2是从1.6或1.5以上的版本,如果我没有做任何异国情调,这有什么关系? 奖金问题:从上一个问题继续,你知道任何服务,主机node.js和本地实例的couchdb可用? 我想用我的后端服务器代码作为代理,但不以牺牲另一个networking跳跃为代价。 保罗,非常感谢你的反馈