我是第一次使用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的值。如何在insert函数中传递该变量?
最佳答案
不能在对象文字定义中插入变量名称。预先创建对象。
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