1

我是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 的值。如何在插入函数中传递该变量?

4

1 回答 1

1

变量名不能插入到对象字面量定义中。事先创建对象。

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

于 2015-06-24T20:05:51.920 回答