我正在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函数导致了错误
答案 0 :(得分:0)
我知道这是一个老问题,但是我遇到了同样的问题,并像这样解决了它:
map: "function (doc) { if (doc._id.indexOf(" + param + "_) == 0) { emit(doc._id); } }"
代替使用.toString(),只需将函数用引号引起来即可。