是否可以使用 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