gpt4 book ai didi

reactjs - 与过滤复制同步 pouchdb

转载 作者:行者123 更新时间:2023-12-02 20:55:11 24 4
gpt4 key购买 nike

我使用 pouchdb 和 couchDb 作为我的第一个离线移动应用程序的数据库。

https://pouchdb.com/2015/04/05/filtered-replication.html

基于上面的内容,我配置了 pouchdb 并与 couchdb 同步。我正在执行基于用户的过滤。当用户注销并再次登录时,db 值可用。做到这一点的最佳设计方法是什么?

有没有可以引用的例子?

configurePouchdb(user) {
var db = new PouchDB('dbname', {adapter: 'websql'});

var serverSideFilter = {
_id: "_design/app",
filters: {
"by_user": function (doc, req) {
return doc._id === '_design/app' || (doc.userId != undefined && doc.userId === req.query.userId);
}.toString()
}
};
db.put(serverSideFilter).then(function (doc) {
// design doc created!
}).catch(function (err) {
// if err.name === 'conflict', then
// design doc already exists
});
db.sync('http://127.0.0.1:5984/dbname', {
live: true,
retry: true,
filter: 'app/by_user',
query_params: {"userId": user}
});
return db;
}

最佳答案

据我所知,CouchDB 或 PouchDB 中的 View 没有 req 参数,因为 View 仅生成一个索引,该索引不会因用户而异。

正如 https://pouchdb.com/2015/04/05/filtered-replication.html 中所述,不建议使用过滤复制来代替正确的身份验证。 https://github.com/nolanlawson/pouchdb-authentication#couchdb-authentication-recipe 中 PouchDB 的主要提交者之一提供了一个很好的秘诀。

无论如何,PouchDB API 文档中有一个非常好的过滤复制指南:https://pouchdb.com/api.html#filtered-replication .

关于reactjs - 与过滤复制同步 pouchdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40625687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com