如何使用 Node.JS 在 CouchDB 中检查和创建数据库?



我正在尝试创建一个小型Web应用程序,但我遇到了一个问题。在我的代码中,我在应用程序执行的开始和之前初始化我的数据库名称,我想检查服务器上是否存在数据库名称,如果没有,则使用该名称创建数据库。所以换句话说,我正在尝试做这样的事情;

if(dbName is not exists){
couch.createDatabase(dbName).then(function(){
console.log('Database created');
};
}

但我不确定如何正确地做到这一点。我正在尝试学习和使用 npm node-couchdb 包,如果您能在不使用任何其他包的情况下帮助我解决此问题,我将不胜感激。

更新:现在我可以使用 couch.listDatabases() 检查数据库是否存在,如果没有,请使用 couch.createDatabase 创建一个新数据库;

couch.listDatabases().then(function(dbs){
var controller = 0;
console.log(dbs);
for(var i= 0; i <= dbs.length; i++){
if(dbName == dbs[i]){
controller += 1;
}
}
if(controller == 0){
couch.createDatabase(dbName).then(function(){
console.log('Database created');
},
function(err){
res.send(err);
});
}
});

我可以在服务器上看到新数据库,但是当我尝试使用我的应用程序访问它时,出现此错误;

{"code":"EDOCMISSING","body":{"error":"not_found","reason":"missing"}}

你可以得到这样的数据库列表:

couch.listDatabases()
.then(
dbs => dbs.map(...), 
err => {
// request error occured 
});

并检查您的数据库是否已存在。

最新更新