Информация
- Среда: гибридное приложение
- Платформа: Android
- Адаптер: IndexedDB
- Сервер: CouchDB & PouchDB Сервер
Здравствуйте, я пытался реализовать документ разработки update_handler в couchdb, который будет использоваться, когда данные pouchdb синхронизируются и сохраняются в couchdb.Цель состоит в том, чтобы проверить хранение данных в центральной CouchDB.Это необходимо для проверки безопасности и реализации других функций.Я пытался использовать плагин pouchdb-update, но конкретный способ достижения этого можно найти ниже, это документ разработки и код, который будет вызывать функцию обновлений на couchdb при синхронизации данных с couchdb.
{
"_id": "_design/secure",
"_rev": "27-d7fbdd8ea925df711d2d4329dbb032c2",
"language": "javascript",
"updates": {
"update": "function(doc,req){if(!doc)return[null,'Doc doesnt exists! Please Create a new
document']doc.secured = doc.secured == false?true:false;return [doc,'Ok,Secured']}"
}
}
И я хочу вызвать его, чтобы модифицировать мои документы, как только они будут сохранены в couchdb.Документы будут синхронизироваться с pouchdb, который работает на фоне приложения Cordova.Это то, что я пытался реализовать, включая плагин POUCHDB-UPDATE.
var argv = require('minimist')(process.argv.slice(2));
var logLocation=argv.pouchlog;
var controlFileHandler=argv.controlfh;
var express = require('express')
var app = express()
var PouchDB = require('pouchdb').plugin('pouchdb-update');
let InMemPouchDB = PouchDB.defaults({db: require("memdown"), migrate: false})
app.use('', require('express-pouchdb')(InMemPouchDB,
{mode:'minimumForPouchDB',logPath:logLocation}))
app.listen(3005)
var db = new InMemPouchDB('todos',{revs_limits: 1});
var remoteCouch = 'http://127.0.0.1:5984/todos';
db.changes({live: true}).on('change', function(){
db.sync(remoteCouch,{live:true,retry:true}).on('active',function(){
db.update('_design/secure', function(res){
console.log("Data Secured");
console.log(res);
})
})
Но это не работает У меня проблема с вызовом функции обновлений на couchdb. Пожалуйста, вы, ребята, можете помочь мне в реализации.Цель состоит в том, чтобы вызвать функцию update_handler только тогда, когда данные хранятся в Couchdb (и указывает, что синхронизация данных между несколькими pouchdb небезопасна, если она не хранится в couchdb).Пожалуйста, помогите мне решить проблему, или, если есть более простой способ добиться этого, любая помощь будет высоко оценена.