我试图创建一个名为' _users'的简单数据库。并使用Couch-DB将新用户插入其中。
我在shell中使用Node来运行以下代码:
UserProfile.js
var nano = require('nano')('http://localhost:5984')
module.exports = {
addUser: function(id, name, password){
var usersDB = nano.use('_users')
var options = {
"_id": "org.couchdb.user:"+id,
"name": id,
"roles": [],
"type": "user",
"password": password
}
usersDB.insert(options, function(err, body, header) {
console.log('insert is being called')
if (err) {
console.log(err.message);
return;
}
console.log(body);
});
}
};
节点repl
> var nano = require('nano')('http://localhost:5984')
undefined
> var usersdb = nano.db.destroy('_users')
undefined
> var usersdb = nano.db.create('_users')
undefined
> var profile = require('./UserProfile.js')
undefined
> profile.addUser('cheese', 'flubber', 'goat')
undefined
> insert is being called
> OS process timed out.
运行此操作后,我希望在/_users/cheese
处看到一个条目,但不存在任何条目。我做错了吗?
答案 0 :(得分:1)
创建用户时,_id必须如下:org.couchdb.user:name
。
在您的情况下,您创建一个具有不同名称的用户奶酪。
此外,您可能想要检查错误回调。应该从Couch返回错误消息。
删除并创建数据库时,必须使用回调。
创建_users时,即使尚未确认_users数据库尚未创建,也直接创建用户。