Tag: couchbase

如果db调用抛出一个错误,我该如何返回错误标题?

我有一个运行NodeJS和Couchbase的小型数据收集networking应用程序。 要求是当第三方向我们推送一些数据并且能够处理它时,我们返回200头,但是如果在存储这些数据时有任何问题,我们将返回500.这意味着,尝试使用失败的数据批次。 我遇到了一个总是返回200的问题(因为数据库调用是asynchronous完成的)。 这是一个例子: … var app = express(); function create(req, res) { var error = false; // Parse all the entries in request for (var i = 0; i < req.body.length; i++) { var event = req.body[i]; if (!event.email) { // log error to file error = true; res.send("Event object does not have an […]

护照会话不会在浏览器closures时被破坏

我有一个Node.js服务器,我正在使用护照进行会话pipe理。 计划使用它来实现记住我很快的服务器function。 但我有一个问题,正常会议基本上就是记住我。 又名会话cookie connect.sid在浏览器closures时不会被破坏,我相信这不是正确的行为。 我正在使用connect-bluesky作为会话存储(使用azure色表格)和couchbase来存储默认会话信息以供将来使用。 相关代码: Server.js app.configure(function() { app.use(express.logger('dev')); // log every request to the console // set up our express application app.use(express.cookieParser()); app.use(express.json()) .use(express.urlencoded()); app.use(express.static(__dirname)); var db = new couchbase.Connection({host: 'http://localhost:8091', bucket: 'default'}, function (err){ console.log("In cb connect"); console.log(err); }); app.use(express.session({secret: 'SECRET', store: new BlueskyStore({ account: 'ACCOUNT', key: 'KEY', table: 'sessionsTable', cookie: […]

Couchbase中的批量操作失败

我是Couchbase的新手。 我正在尝试使用Couchbase Server 3.0.1上的Couchbase文档中的 Node.js进行一些基本操作。 当我尝试批量操作时,从Couchbase文档获得的代码失败了。 有一个名为“testing”的数据桶。 而桶有两个logging,他们有文件编号1和2.我可以成功,如果我一个一个拿到文件。 但是下面的代码返回一个错误,如; 抛出新的TypeError('第一个参数需要是一个string或缓冲区'); 我的代码 var couchbase = require("couchbase"); var cluster = new couchbase.Cluster('192.168.170.129:8091'); var bucket = cluster.openBucket('test'); // Bulk operation bucket.get(['1', '2'], function(err, res) { if(err) { console.log("one or more operation failed", err); return; } console.log("success!", res); }); 编辑:我使用Couchbase Node.js 2.0

Couchbase – 在ttl过期如何保存另一台服务器或couchbase实例上的文档?

我想实现这一点:我有一个couchbase实例,它有桶和文档。 一旦某个密钥或文档的ttl即将到期,服务器基础服务器就会使用密钥及其数据向另一个服务器发送呼叫(Post请求),该服务器将其另存为另一个couchbase实例。 所以有两个问题:1)我怎样才能configurationcouchbase发送一个请求到另一个服务器的密钥和它包含的数据。 2)有没有更好的办法在沙发上获得这个东西? 我的意思是,我不需要restapi为couchbase发送数据,它可以如何保存数据到另一台服务器本身,只是通过做一些configuration?

Couchbase多服务器设置问题

我们有三个EC2实例的couchbase服务器设置,第一个实例只有数据库服务运行,第二个实例有索引服务运行,第三个实例有查询服务运行。 索引和查询服务器使用couchbase web控制台添加到数据服务器,该控制台可以select本文引用的“服务器节点”选项下的“添加服务器”。 现在,例如,如果我必须使用Nodejs SDK,Ottoman连接驻留在服务器上的存储桶并创build一个新用户,则可以连接到存储桶,但是无法将文档保存在存储桶中,我一个“分段错误(核心转储)”的错误。 请让我们知道,如果我们需要改变服务器设置的方式,或者我们应该如何继续前面的例子,以便我们能够创build用户。 软件版本:Couchbase:4.5 Couchbase Nodejs SDK:2.2奥斯曼:1.0.3 此函数使用Nodejs ver-4.3从AWS Lambda运行。 我得到的错误是“分段错误(核心转储)”。 以下是我试过的AWS Lambda函数: var couchbase=require('couchbase'); var ottoman=require('ottoman'); var config = require("./config"); var myCluster = new couchbase.Cluster(config.couchbase.server); // here tried connecting to either data / index / query server ottoman.bucket = myCluster.openBucket(config.couchbase.bucket); require('./models/users'); ottoman.ensureIndices(function(err) { if (err) { console.log('failed to created neccessary indices', […]

Couchbase Lite – 同步参考字段

在使用Sync Gateway与Couchbase服务器同步时,Couchbase Lite如何处理奥斯曼的 引用字段? 试着让自己熟悉Couchbase,在看完Couchbase Server&Couchbase Lite组合( 本video , 本教程 和官方文档 )后,我不了解Lite如何反映在服务器中定义的数据模型。 从我看来,Lite和Server不是很相似,尽pipe两者都代表NoSQL数据库。 您定义,存储和处理数据似乎有不同的方式。 尽pipe如此,同步网关是允许同步精简版与服务器。 主要的问题是如何在使用Sync Gateway进行同步时,在基于Ottoman的服务器( 在此查看模型参考 )中定义的ref字段如何在Lite中反映出来? 请纠正我,如果我只是得到refs或同步完全错误的概念。

无效的ELF标头使用couchbase db的节点js

我已经看到了一些关于这个问题的post,但是结果似乎都是针对用户configuration的。 我正在使用一个快速js服务器的couchbase数据库。 当我在本地运行代码(Windows)时,它工作正常。 它自己的数据库托pipe在一个linux服务器上。 当我将代码部署到我们的testing环境(linux)时,当我尝试运行“node server.js”时,出现此错误: /var/www/html/BTRnode/node_modules/couchbase/node_modules/bindings/bindings.js:83 throw 8 Error: /var/www/html/BTRnode/node_modules/couchbase/build/Release/couchbase_impl.node: invalid ELF header at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:364:17) at …. 我完全失去了在这种情况下做什么。 如前所述,在我看来,在其他人的情况下,所有的修复都是一些系统configuration。 我不知道要在这里发布什么内容来帮助您查看可能有帮助的任何configuration,但是我可以确保在需要时添加它。 此外,如果有一个更通用的解决scheme或错误,我正在提交,这将有助于知道。 问题 :我需要做些什么才能使其运行?

你如何使用Couchbase执行upsert?

我正在寻找与Couchbase中的MongoDB的upsert类似的function。 使用Couchbase模块的Node.js的答案是可取的。

Ubuntu服务器12.04上的Node couchbase模块会抛出“无效的ELF头”错误

我正在尝试在Ubuntu服务器上安装带有couchbase的节点应用程序。 我已经下载Couchbase并从这里安装(如下载页面所列): http : //packages.couchbase.com/releases/2.2.0/couchbase-server-enterprise_2.2.0_x86_64.deb 我可以通过networking界面访问它,它工作正常。 接下来,我尝试通过npm安装couchbase节点模块: npm install couchbase –save 这成功完成。 但是,当我尝试运行我的应用程序(这可以在我的桌面Ubuntu上正常工作),我得到这个错误: ubuntu@aws-box:~/project/$ node index.js /home/ubuntu/project/node_modules/couchbase/lib/binding.js:16 throw e; ^ Error: /home/ubuntu/project/node_modules/couchbase/prebuilt/win/x64/couchbase_impl.node: invalid ELF header at Module.load (module.js:349:32) at Function.Module._load (module.js:305:12) at Module.require (module.js:357:17) at require (module.js:373:17) at bindings (/home/ubuntu/project/node_modules/couchbase/node_modules/bindings/bindings.js:74:15) at tryLoadBinding (/home/ubuntu/project/node_modules/couchbase/lib/binding.js:13:31) at Object.<anonymous> (/home/ubuntu/project/node_modules/couchbase/lib/binding.js:30:17) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:349:32) […]

Port Cordova插件(数据库API)到Node.Js模块?

我正在使用Couchbase产品作为数据库来开发具有脱机function的一套应用程序(移动,Web,桌面)。 我们的应用程序将是一个Html + Css + Javascript应该是跨平台的。 Angular和PhoneGap也用于能够使用MVC模式和构build移动。 我们还希望使用JxCore(Node.Js fork)作为单独的后端服务,根据应用程序的types与Couchbase服务器或Couchbase Lite进行通信。 (WebApp将直接与集群上托pipe的Couchbase服务器进行对话,部署在客户端设备上的应用程序需要与Couchbase Lite(embedded式)进行通信并与Couchbase服务器进行同步。 目前,Couchbase为Node.Js提供了一个SDK来与Couchbase服务器进行通信,但是对于Couchbase Lite来说则不是这样。 另一方面,PhoneGap有一个Couchbase Lite的插件,但正如我之前所说的,我们更喜欢后端node.js,它将与数据库进行交谈并公开一个由客户端应用程序调用的rest API,以处理数据数据库。 有没有可能我可以适应这个Couchbase精简版插件,所以我可以用Node.js(不要担心这个插件没有任何桌面平台,我们可以解决这个问题)。 链接到Couchbase精简版插件: https : //github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plugin 链接到我们使用的JxCore插件: https : //github.com/jxcore/jxcore-cordova 我不知道这是否可行,我是一个虚拟的技术工作。 请让我知道,如果我需要澄清的东西,谢谢!