尝试在特定视图中检索pouchDB中的更改,但仍然接收allDocs ...我做错了什么?除了pache API doc(http://pouchdb.com/api.html#changes)之外,还没有找到任何教程或详细信息如何执行此操作。我已经测试了查看和过滤选项而没有运气。
此视图的设计和保存为 / notes
function(doc) {
if (doc.model == 'note') {
emit(doc._id, doc);
}
}
实时更改Feed:
pouch.changes({
live: true,
view: '_view/notes'
})
.on('change', function handleUpdate(change) {
// log changed document
pouch.get(change.id).then(function(row) {
console.log(row);
}
})
也许视图路径错了......? 谢谢你的帮助。
答案 0 :(得分:0)
更简单地说,你可以这样做:
pouch.changes({
live: true,
include_docs: true
}).on('change', function (change) {
if (change.doc && change.doc.model === 'note') {
console.log(change);
}
});
相信我;在changes()
过滤器中使用视图只会增加不必要的复杂性,并且不会更快地执行。很抱歉没有在文档中说清楚。 :)
答案 1 :(得分:0)
默认情况下,changes()将返回数据库开头的所有更改。 因此,您将收到所有文档更改,这相当于对allDocs()的调用。
要从某个时间点获取更改,您必须提供选项参数,因为。
options.since: Start the results from the change immediately after the
given sequence number, you can also pass 'now' if you want only
new changes.
您可以通过调用 db.info()或通过 db.get(docId)检索文档时使用选项获取序列号local_seq 强>