Tag: 摇篮

在摇篮合并(Node.js和CouchDB)中使用variables

我试图编写一个函数,循环和更改多个文档中的字段在同一时间。 唯一的问题是,当我传递一个参数值,摇篮合并似乎实际上通过参数名称而不是值的字段。 例如: function saveToAll(field, data) { db.get('document_list', function (err, doc) { for (key in doc.doc_list_pure) { //Create a Closure (function(key1) { console.log(key1) //Go into the DB console.log(field); console.log(data); db.merge(key1, { field : data }, function (err, res) { console.log('Saved'); }); } )(key) } }); } 所以在这里,如果我写这样一个函数: saveToAll("new_field", value); 它会正确logging,但保存一个字面上正确的数据字面上称为“字段”。 有没有人有如何解决这个问题的想法? 这是摇篮虫还是只是我?

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)); }); 有人能告诉我这样做的正确方法吗? 谢谢

asynchronous加载NPM模块

我试图创build一个连接到我的数据库(couchDB使用摇篮)的模块。 最后,模块输出“db”variables。 这里是代码: var cradle = require('cradle'), config = require('./config.js'); var db = new(cradle.Connection)(config.couchURL, config.couchPort, { auth: { username: config.couchUsername, password: config.couchPassword }, cache: true, retries: 3, retryTimeout: 30 * 1000 }).database('goblin'); //database name //Check if DB exists db.exists(function (err, exists) { if (err && exists) { console.log("There has been an error finding your CouchDB. […]

CouchDB /摇篮如何添加图像?

所以基本上我想让用户在注册时可以select上传图片。 我不知道从哪里开始永远。 我知道CouchDB支持附件,但Cradle是如何工作的。 我在Cradle的文档中find了下面的代码 saveAttachment: function (/* id, [rev], attachmentName, contentType, dataOrStream */) { 所以我知道它可以保存附件。 那么我将如何传递图像呢? 我假设在HTML中,我必须使用 form(action='/upload', enctype='multipart/form-data', method='post') input(type='file', name='upload') input(type='submit', value='Upload') 但是我从哪里去呢? 这一步不会将图像保存在服务器的某个地方。 然后,我不知何故需要获取图像的地址,并将其传递到摇篮,以将其作为附件保存在CouchDB数据库中。 如果您能帮助我,请提前致谢!

用CouchDB附件提供文件?

我使用Express。 我不知道如何发送一个图像文件到客户端的方式,它会显示为HTML标记<img src='/preview/?doc=xxxxxx&image=img1.jpg'> 。 我正在使用Cradle getAttachment函数与Couchdb进行通信https://github.com/flatiron/cradle db.getAttachment(id, filename, function (err, reply) { set('Content-Type', 'image/png'); res.end(reply); }); 我不知道reply是什么,以及如何将这个图像无缓冲地转移到客户端

Cradle / Express / EJS将html转换为实体

我在我的博客上使用Express和EJS的Cradle。 也许我错过了smth,但其中一些将html实体转换为其等价物。 我有doc.quote字段中的HTML,并在这段代码后,它改变 quotesDb.view('list/by_date', { 'startkey' : {}, 'endkey' : null, 'descending' : true }, function(err, res) { if (err) { r.send(); return; } r.partial('quotes', {'quotes' : res}, function(err, str) { console.log(str); sendResponse('content', str); }); }); quotes.ejs: <% for (var i=0; i<quotes.length; i++) { %> <div> <%=quotes[i].value.quote%> </div> <div class="date"> <%=(new Date(quotes[i].value.ts*1000)).toLocaleDateString()%><% if (quotes[i].value.author) { […]

如何在摇篮式通话中创build多个附件

我正在研究一个nodejs应用程序,并将两个附件插入带有摇篮的couchdb。 目前我正在插入第一个附件,获取更新的文档,然后插入更新的_rev键的第二个附件。 这是低效的,使我不得不作出两个独立的电话couchdb。 有没有办法创build多个附件与一个摇篮调用?

是否有可能同步进行摇篮调用?

我正在使用Express作为一个项目,我一直在使用摇篮来试用CouchDB数据库。 虽然asynchronous执行的想法是出于性能方面的原因,但是这使得我的代码对于需要在一行中进行多个数据库调用的例程来说确实是一团糟。 是否有可能不使用callback进行摇篮调用? 或者,我想更准确的说,有没有更好的方法来组织不涉及嵌套3或4个匿名函数的代码,以获得数据库查询结果? 这个代码只能在一个地方使用,所以使用只能调用一次的命名函数是没有意义的。