gpt4 book ai didi

javascript - 为 couchdb 更新 nodejs 的 nano 模块中的文档字段

转载 作者:搜寻专家 更新时间:2023-11-01 00:19:07 26 4
gpt4 key购买 nike

假设在 node.js 上通过 nano 打开了一个 couchdb session

var dbserv = require('nano')('http://localhost:5984');

dbserv 可以访问的 couchdb 服务器上,有一个数据库 users,用户有一个 groups 字段,它是一个数组。

如果我想更新 users 中用户 jimgroups,我该怎么做而不替换整个文档?

最佳答案

CouchDB

要创建更新处理程序,请编写设计文档:

{
"_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 为 _design/yourapp,然后像这样获取它:

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'});

请注意,您只需插入一次设计文档,您甚至可以使用 curl 手动插入,然后只需按上述说明发出 GET 请求即可更新您的文档。

免责声明:未经测试,我以前从未使用过 nano,但它应该符合您必须执行的操作。

关于javascript - 为 couchdb 更新 nodejs 的 nano 模块中的文档字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8982762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com