私は、オフラインの最初のモバイルアプリケーションのためのデータベースとしてpouchdbとcouchDbを使用しています。私はcouchdb.Iは、ユーザベースのフィルタリングをやっているとpouchdbとの同期を設定したように上記に基づいてフィルタリングされた複製を使用した同期pouchdb
https://pouchdb.com/2015/04/05/filtered-replication.html
。ユーザーがログアウトして再度ログインすると、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;
}