如何查询 pouchDB 中的复杂键?
How do I query a complex key in pouchDB?
如果我要发出获取请求,我会做类似的事情:
https://myserver.com/sometestdb/_design/sortJob/_view/index?limit=100&reduce=false&startkey=["job_price"]&endkey=["job_price", {}]
对于这样的地图查询:
function(doc) {
if (doc.data.type === "job") {
emit(["job_ref", doc.data.ref], null);
emit(["job_price", doc.data.price], null);
}
}
如何使用 pouchDb query 复制查询?我已经围绕开始键和结束键尝试了一些方法,但没有成功:
{
include_docs: true,
startkey: 'job_price',
endkey: 'job_price,{}'
}
{
include_docs: true,
startkey: 'job_price',
endkey: 'job_price\uffff'
}
这两个 return 0 结果,而我使用的 link 产生了预期的结果。
注意:我可以确认数据存在于我的 pouchDB 中,因为我已经使用 pouch-find
插件查询了它,但我正在尝试各种技术来查看哪个更快。
编辑:根据文档中的 complex keys section,我应该能够执行以下操作:
{
include_docs: true,
startkey: '[\'job_price\']',
endkey: '[\'job_price\',{}]'
}
但这会导致:
No rows can match your key range, reverse your start_key and end_key
or set {descending : true}
但我应该可以得到这样的结果,我不想descending: true
。
好的,那是我阅读文档的问题。
构建开始/结束键时,您需要传递数组,而不是将数组作为字符串传递(我认为 pouchDB 然后 eval
'd.
这是工作查询:
{
include_docs: true,
startkey: ['job_price'],
endkey: ['job_price', {}]
}
发布此答案而不是删除问题,因为它可能对其他人有帮助。
如果我要发出获取请求,我会做类似的事情:
https://myserver.com/sometestdb/_design/sortJob/_view/index?limit=100&reduce=false&startkey=["job_price"]&endkey=["job_price", {}]
对于这样的地图查询:
function(doc) {
if (doc.data.type === "job") {
emit(["job_ref", doc.data.ref], null);
emit(["job_price", doc.data.price], null);
}
}
如何使用 pouchDb query 复制查询?我已经围绕开始键和结束键尝试了一些方法,但没有成功:
{
include_docs: true,
startkey: 'job_price',
endkey: 'job_price,{}'
}
{
include_docs: true,
startkey: 'job_price',
endkey: 'job_price\uffff'
}
这两个 return 0 结果,而我使用的 link 产生了预期的结果。
注意:我可以确认数据存在于我的 pouchDB 中,因为我已经使用 pouch-find
插件查询了它,但我正在尝试各种技术来查看哪个更快。
编辑:根据文档中的 complex keys section,我应该能够执行以下操作:
{
include_docs: true,
startkey: '[\'job_price\']',
endkey: '[\'job_price\',{}]'
}
但这会导致:
No rows can match your key range, reverse your start_key and end_key or set {descending : true}
但我应该可以得到这样的结果,我不想descending: true
。
好的,那是我阅读文档的问题。
构建开始/结束键时,您需要传递数组,而不是将数组作为字符串传递(我认为 pouchDB 然后 eval
'd.
这是工作查询:
{
include_docs: true,
startkey: ['job_price'],
endkey: ['job_price', {}]
}
发布此答案而不是删除问题,因为它可能对其他人有帮助。