Tag: couchdb

使用nano和couchdb节点时ECONNREFUSED

直到今天,我还在为我的应用程序使用nodejs + nano + couchdb。 出于某种原因,当我尝试运行我的应用程序时,突然间我收到了ECONNREFUSED。 如果我尝试使用Web浏览器或使用不同的应用程序(Java应用程序)查询数据库,它工作正常。 我不确定为什么只是在这种情况下停止工作。 我一直在研究过去两天,找不到任何帮助。 我相信这可能与许多开放的联系有关,但是这有点超出我的知识领域。 任何人都可以提供任何有关debugging这个问题或任何方向,我可以去的见解? 我应该提到这个couchdb住在iriscouch上 非常感谢。

将tweetNaCL-jsencryption库添加到CouchDB validate_doc函数中

我正在尝试使用公钥encryption( tweetnacl )来validation文档。 我知道你可以添加commonjs模块来validationfunction,但一直未能。 { "_id": "_design/validate_update", "language": "javascript", "validate_doc_update": "function(newDoc, oldDoc, userCtx){ verify=require('lib/validation').sign.detached.verify; if(verify(newDoc.message, new.Doc.signature, oldDoc.publicKey)){ return true; } }", "lib": { "validation": "exports.nacl=(function(nacl){….. })" } } 当我这样做时,我得到的错误: Module require('lib/validation') raised error (new TypeError("func.apply is not a function", "/usr/local/share/couchdb/server/main.js", 1181)) 我想我必须以某种方式改变tweetnacl代码被解释为commonjs模块?

CouchDB在必要的字段validation上返回HTTP 403

在过去的几个星期里,我一直在做一个小型的Couch / NodeJS项目,我需要一些字段validation(必需的,types…)。 我通过将validate_doc_update添加到devise文档来解决这个问题。 在做了一些testing后,我意识到我正在接收403个禁止的HTTP代码,而不是400个不好的请求,我认为在这个用例中更合适。 CouchDB文档说,我只能抛出这些错误对象之一: 抛出 :禁止错误,以防止文件存储。 (403) 抛出 :未经授权的错误,以防止存储,并允许用户重新authentication。 (401) 什么是pipe理这种validation问题的最佳方法的任何想法? 更新: validate_doc_update的内容: function (newDoc, oldDoc, userCtx){ function require(field, message){ message = message || "Block must have a " + field; if (!newDoc[field]) throw({forbidden : message}); }; if(newDoc.type == "block"){ require("name") } } 我知道throw({forbidden:message})会给403 …有什么办法来改变CouchDB上的行为,或者应该build立我自己的validation中间件明确?

加快我的云查询

我想知道是否有人可以在我的云查询下面提供一些build议。 现在花费20秒以上的时间来处理50,000文件的数据库 – 我怀疑我的速度可能会比这更快。 查询的目的是查找所有具有“searchCode”属性的文档,并将其与特定值加上特定ID的进一步列表相匹配。 searchCode和_id都被索引 – 为什么我的查询需要这么长时间/我能做些什么来加快速度? mydb.find({selector: {"$or":[{"searchCode": searchCode},{"_id":{"$in":idList}}]}}, function (err, result) { if(!err){ fulfill(result.docs); } else{ console.error(err); } }); 谢谢,詹姆斯

如何从我的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快车

在哪里存储CouchDB的devise文档?

我是CouchDB的新手,不知道CouchDB如何处理大量的devise文档。 我的问题: 你在哪里存储devise文件:在CouchDB与被保存的“保存”或硬盘上,然后通过HTTP API上传? 如果你正在上传,你怎么做? 你创build自定义查询还是你使用任何框架? 我正在使用node.js,有没有好的库/框架,我可以用来缓解CouchDB的发展? 请分享你的经验!

在会话中设置另一个域

情况如下: 我有一个连接到后端服务器的Web浏览器,后端服务器与数据库(couchdb)通信,通过HTTP响应设置会话到后端服务器。 现在我想把这个会话发回到后来可以直接与数据库通信的网页浏览器,这可能吗? 我使用Node.js / Javascript。

我的CouchDB在一个子目录中。 我应该列出作为摇篮主机?

我的CouchDB数据库位于以下目录中: http://example.com/couchdb/ 例如,我在这里有一个CouchDB数据库“foo”: http://example.com/couchdb/foo/ 我应该在摇篮设置function中列出“主机”? cradle.setup({host: '[what goes here]', options: {cache: true, raw: false}}); 上面的例子来自: https : //github.com/cloudhead/cradle 我不能得到摇篮,看到我的数据库…

CouchDB,Node.js,摇篮 – 如何根据返回的数据获取数据

我正在使用node.js +摇篮和couchdb的消息系统。 当用户拉取消息列表时,我需要拉取发送消息的用户的在线状态。 在线状态存储在每个注册用户的用户文档中,并且消息信息存储在单独的文档中。 这是我能够做到我所需要的唯一途径,但却是非常低效的 私人消息/所有密钥=消息收件人的用户名 db.view('privatemessages/all', {"key":username}, function (err, res) { res.forEach(function (rowA) { db.view('users/all', {"key":rowA.username}, function (err, res) { res.forEach(function (row) { result.push({onlinestatus:row.onlinestatus, messagedata: rowA}); }); }); }); response.end(JSON.stringify(result)); }); 有人能告诉我这样做的正确方法吗? 谢谢

couchapp不工作! (node.couchapp.js)

我有一个问题:我已经安装了couchapp,但它不太好。 我尝试重复这里显示: http : //vimeo.com/26147136但是: master@master:~/WebDev/superblog$ couchapp push app.js http://localhost:5984/superblog “sys”模块现在称为“util”。 它应该有一个类似的界面。 node.js:201 throw e; // process.nextTick错误,或者第一个打勾^的'错误'事件 错误:require.paths被删除。 改用node_modules文件夹或NODE_PATH环境variables。 在function。 (module.js:376:11)在Object。 (module.js:4:21)在Module._compile(module.js:432:26)在Object..js(module.js: (Module.js:351:31)在Module.require(module.js:357:17)处的Function._load(module.js:310:12) 368:17)在对象。 (/home/master/WebDev/superblog/app.js:1:79)在Module._compile(module.js:432:26) 我不知道它是为了纠正。 请帮帮我!