node.js で nano を介して開いたcouchdbセッションがあるとします。
var dbserv = require('nano')('http://localhost:5984');
アクセスできるcouchdbサーバーには、配列であるフィールドを持つユーザーがdbserv
いるデータベースがあります。users
groups
groups
でユーザーを更新しjim
たい場合users
、ドキュメント全体を置き換えずにどのように更新しますか?
node.js で nano を介して開いたcouchdbセッションがあるとします。
var dbserv = require('nano')('http://localhost:5984');
アクセスできるcouchdbサーバーには、配列であるフィールドを持つユーザーがdbserv
いるデータベースがあります。users
groups
groups
でユーザーを更新しjim
たい場合users
、ドキュメント全体を置き換えずにどのように更新しますか?
更新ハンドラーを作成するには、設計ドキュメントを作成します。
{
"_id": "_design/yourapp",
"updates": {
"foo": "function(doc, req) {
doc.groups.push(req.query.bar); // or do whatever you like with it
return [doc, 'done'];
}"
}
}
id を使用してデータベースに PUT し、次の_design/yourapp
ように GET します。
http://localhost:5984/users/_design/yourapp/_update/foo/jim?bar=baz
var dbserv = require('nano')('http://localhost:5984');
var db = dbserv.use('users');
var designdoc = {/* The above design document */};
db.insert(designdoc);
db.get('_design/yourapp/_update/foo/jim', {bar: 'baz'});
設計ドキュメントを挿入する必要があるのは 1 回だけであることに注意してください。 を使用して手動で挿入することもできますcurl
。その後、ドキュメントを更新するには、上記で説明したように GET リクエストを行うだけです。
免責事項:テストされておらず、以前にnanoを使用したことはありませんが、それはあなたがしなければならないことの線上にあるはずです.