我怎么能把变量放在包数据库设计文档

how can i put variable in pouchDb design document

本文关键字:数据库 文档 怎么能 变量      更新时间:2023-09-26

我正在创建一个设计文档在pouchDB像下面

var desingDoc = {
    _id: '_design/' + param,
    views: {
      by_name: {
        map: function (doc) {
          if (doc._id.indexOf(param + '_') == 0)
            emit(doc._id);
        }.toString()
      }
    }
  };

出现错误

pouchdb.min.js:7 ReferenceError: param is not defined
    如何评估?

这里是完整的功能

 function index(param) {
  var desingDoc = {
    _id: '_design/' + param,
    views: {
      by_name: {
        map: function (doc) {
          if (doc._id.indexOf(param + '_') == 0)
            emit(doc._id);
        }.toString()
      }
    }
  };
  _db.put(desingDoc).then(function () {
    console.log('success')
  }).catch(function (err) {
    console.log(err)
    // todo handle the non saved case
  });
}

_id的计算是正确的,只是映射函数导致了错误

我知道这是一个古老的问题,但我刚刚遇到了同样的问题,并像这样解决了它:

map: "function (doc) { if (doc._id.indexOf(" + param + "_) == 0) { emit(doc._id); } }"

不使用。tostring(),只需将函数用引号括起来。