我的任务是使用带有两个端点的node.js设置一个ouchbase服务器。
当我想连接水桶时
我得到如下所示的错误:
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);
});
最佳答案
建立数据库连接时,您需要给该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);});
关于node.js - 验证失败。 Couchbase中的OpenBucket,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49851923/