是否可以使用 nano 通过 node.js 在 cloudant (couchdb) 中动态添加视图
Is it possible to dynamically add views in cloudant (couchdb) through node.js using nano
我是第一次使用 cloudant-couchdb
,但遇到了这个问题。
我正在尝试通过我的 node.js 服务器动态地将一个视图插入到我的数据库中。
这是我的代码。
app.post("/listSections", function(req, res) {
var moduleID = req.body.name;
console.log(moduleID);
db.insert(
{ "views":
{ moduleID: //create view with name = moduleID
{
"map": function (doc) {
//some function
}
}
},
'_design/section', function (error, response) {
console.log("Success!");
});
});
我想动态创建一个视图,视图名称是变量 moduleID 的值。如何在插入函数中传递该变量?
不能在对象文字定义中插入变量名。预先创建对象。
var obj = {};
obj[moduleID] = {map: function () {}};
db.insert({views: obj},
如果您使用的是 ES6 并且计算的 属性 名称可用,您可以改为这样做:
db.insert({views: {[moduleID]: {
参见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer
我是第一次使用 cloudant-couchdb
,但遇到了这个问题。
我正在尝试通过我的 node.js 服务器动态地将一个视图插入到我的数据库中。
这是我的代码。
app.post("/listSections", function(req, res) {
var moduleID = req.body.name;
console.log(moduleID);
db.insert(
{ "views":
{ moduleID: //create view with name = moduleID
{
"map": function (doc) {
//some function
}
}
},
'_design/section', function (error, response) {
console.log("Success!");
});
});
我想动态创建一个视图,视图名称是变量 moduleID 的值。如何在插入函数中传递该变量?
不能在对象文字定义中插入变量名。预先创建对象。
var obj = {};
obj[moduleID] = {map: function () {}};
db.insert({views: obj},
如果您使用的是 ES6 并且计算的 属性 名称可用,您可以改为这样做:
db.insert({views: {[moduleID]: {
参见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer