【发布时间】:2017-02-17 16:25:30
【问题描述】:
好的,所以我的问题是我有一个多键视图,它可以工作。
function (docu) {
if(!docu.deleted){
emit([docu.key1, docu.key2, docu.key3], docu);
}
}
我正在尝试向这个已经多键的数组添加另一个键。我试图添加的键是一个字符串值数组,
[
"test",
"test2"
]
我正在使用PouchDB 及其内置的查询方法查询我的视图,代码如下。
database.query("views/viewTest", {
startkey: [key1, key2, key3, key4],
endkey: [key1, key2, key3, key4],
reduce: false
}, function (err, res) {
if (err) {
console.log(err);
alert(err);
} else {
console.log(res);
}
});
key4 是我的新数组。通过将 map 函数更改为 emit([docu.key1, docu.key2, docu.key3, [docu.key4]], docu);,我的 map 函数有点运气,但这仅适用于数组中只有一项的情况,并且我需要它来处理数组中的多个项。
我不知道如何设置视图或查询以利用 key4 数组中的多个项目。
我尝试使用startkey 和endkey 进行查询,其中key4 为endkey 推入了{},但这返回了所有内容。我只想要 key4 数组中返回的值,只要它们也与其他键匹配。
总结一下:
- 在我添加新的 key4 数组之前,我的视图/查询工作正常。
- 如果 key4 数组中有 ONE 项,则视图/查询有效。
- 我需要它来处理 key4 数组中的所有项目。
- 我尝试了多种方法,但无法/无法使其正常工作。
有什么建议吗?
【问题讨论】:
标签: javascript couchdb pouchdb couchdb-2.0