【问题标题】:Using variables in Cradle Merge (Node.js and CouchDB)在 Cradle Merge 中使用变量(Node.js 和 CouchDB)
【发布时间】:2013-03-25 20:35:08
【问题描述】:

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

例如:

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);

它会正确记录,但会使用正确的数据保存一个字面上称为“字段”的字段。有谁知道如何解决这个问题?这是一个摇篮虫还是只有我?

【问题讨论】:

    标签: javascript node.js couchdb cradle


    【解决方案1】:

    试试这个:

    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)
          }
    });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      相关资源
      最近更新 更多