CouchDB 无法通过纳米模块更新文档
CouchDB Cannot update a Document via nano module
我正在使用这个 Node.js 模块 nano
为什么我无法更新我的文档?我会想要疯狂:真然后又假。
这是我的代码:
var nano = require('nano')('http://localhost:5984');
// clean up the database we created previously
nano.db.destroy('alice', function() {
// create a new database
nano.db.create('alice', function() {
// specify the database we are going to use
var alice = nano.use('alice');
// and insert a document in it
alice.insert({ crazy: true }, 'rabbit', function(err, body, header) {
if (err) {
console.log('[alice.insert] ', err.message);
return;
}
console.log('you have inserted the rabbit.')
console.log(body);
});
});
});
Nano 默认没有更新方法。这就是为什么我们需要定义一个自定义方法来为我们做这件事。在 app.js
文件的顶部附近声明以下内容,紧跟在数据库连接代码之后。
test_db.update = function(obj, key, callback){
var db = this;
db.get(key, function (error, existing){
if(!error) obj._rev = existing._rev;
db.insert(obj, key, callback);
});
}
然后您可以在代码中使用 update
方法:
// and update a document in it
alice.update({ crazy: false }, 'rabbit', function(err, body, header) {
if (err) {
console.log('[alice.insert] ', err.message);
return;
}
console.log('you have updated the rabbit.')
console.log(body);
});
});
});
我正在使用这个 Node.js 模块 nano
为什么我无法更新我的文档?我会想要疯狂:真然后又假。
这是我的代码:
var nano = require('nano')('http://localhost:5984');
// clean up the database we created previously
nano.db.destroy('alice', function() {
// create a new database
nano.db.create('alice', function() {
// specify the database we are going to use
var alice = nano.use('alice');
// and insert a document in it
alice.insert({ crazy: true }, 'rabbit', function(err, body, header) {
if (err) {
console.log('[alice.insert] ', err.message);
return;
}
console.log('you have inserted the rabbit.')
console.log(body);
});
});
});
Nano 默认没有更新方法。这就是为什么我们需要定义一个自定义方法来为我们做这件事。在 app.js
文件的顶部附近声明以下内容,紧跟在数据库连接代码之后。
test_db.update = function(obj, key, callback){
var db = this;
db.get(key, function (error, existing){
if(!error) obj._rev = existing._rev;
db.insert(obj, key, callback);
});
}
然后您可以在代码中使用 update
方法:
// and update a document in it
alice.update({ crazy: false }, 'rabbit', function(err, body, header) {
if (err) {
console.log('[alice.insert] ', err.message);
return;
}
console.log('you have updated the rabbit.')
console.log(body);
});
});
});