在摇篮合并(Node.js和CouchDB)中使用variables

我试图编写一个函数,循环和更改多个文档中的字段在同一时间。 唯一的问题是,当我传递一个参数值,摇篮合并似乎实际上通过参数名称而不是值的字段。

例如:

function saveToAll(field, data) { db.get('document_list', function (err, doc) { for (key in doc.doc_list_pure) { //Create a Closure (function(key1) { console.log(key1) //Go into the DB console.log(field); console.log(data); db.merge(key1, { field : data }, function (err, res) { console.log('Saved'); }); } )(key) } }); } 

所以在这里,如果我写这样一个函数:

 saveToAll("new_field", value); 

它会正确logging,但保存一个字面上正确的数据字面上称为“字段”。 有没有人有如何解决这个问题的想法? 这是摇篮虫还是只是我?

尝试这个:

 function saveToAll(field, data) { db.get('document_list', function (err, doc) { for (key in doc.doc_list_pure) { //Create a Closure (function(key1) { console.log(key1) //Go into the DB console.log(field); console.log(data); var dataObj = {}; dataObj[field]=data; db.merge(key1, dataObj, function (err, res) { console.log('Saved'); }); } )(key) } }); }