身份验证失败。Couchbase 中的 OpenBucket

man*_*Yiu 2 node.js couchbase

我的任务是使用带有两个端点的 node.js 设置一个 couchbase 服务器。当我想连接一个存储桶时,出现如下所示的错误:

CouchbaseError:身份验证失败。您可能提供了无效的用户名/密码组合消息:“身份验证失败。您可能提供了无效的用户名/密码组合',代码:2

而我的代码 app.js 如下

var express = require("express");
var couchbase = require("couchbase");
var bodyParser = require("body-parser");

var cluster = new couchbase.Cluster('couchbase://localhost');
var bucket = cluster.openBucket('example'); //the name of bucket is 'example'
bucket.on('error', function(err) {
  console.log('Bucket: CONNECT ERROR:', err);});

var app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));

// create two endpoints 

app.get("/person/:id", function(req, res){
  bucket.get(req.params.id, function (error, result){
     if(error){
         console.log("error in get method");
         return res.status(400).send(error);
     }
     res.send(result); 
 });
});

app.post("/person/:id", function(req, res){
  var document = {
    firstName :req.body.firstName,
    lastName : req.body.lastName
  }
  bucket.upsert(req.params.id, function (error, result){
    if(error){
        console.log("error in post method");
        return res.status(400).send(error);
    }
    res.send(result); 
 });
});

var server = app.listen(3000, function(){
  console.log("Listening on port %s...", server.address().port); 
});
Run Code Online (Sandbox Code Playgroud)

Ram*_*ghe 5

在建立数据库连接时,您需要提供 couchbase 登录凭据 (cluster.authenticate)。

    var cluster = new couchbase.Cluster('couchbase://localhost');
    cluster.authenticate('username', 'password'); 
    var bucket = cluster.openBucket('database-name'); //the name of bucket
    bucket.on('error', function(err) {
      console.log('Bucket: CONNECT ERROR:', err);});
Run Code Online (Sandbox Code Playgroud)