我想将最后一个修订版本从couchDB复制到pouchDB,但是它将所有的转换都转移到了doc中。初始例如:如何将有用的数据从CouchDB传输到PouchDB
var replicationOptions = {
doc_ids: null
};
this.$get = function (pouchDB, arrayUtils, $rootScope, modelUtils,appConfig) {
function initDB() {
userLocalDB = pouchDB("mobile_users", {
revs_limit: 1,
auto_compaction: true,
adapter: 'cordova-sqlite',
iosDatabaseLocation: 'Library',
androidDatabaseImplementation: 2
});
userRemoteDB = pouchDB(appConfig.couchDBServerUrl+"mobile_users", {skipSetup: true});
userRemoteDB.login("mobile", "fakepass");
}...
复制代码:
function startReplication(username) {
replicationOptions.doc_ids = [_prefixId + username];
console.log("replicationOptions", replicationOptions)
return userRemoteDB.replicate.to(userLocalDB, replicationOptions).$promise
.then(null, null, function (progress) {
console.log('user replication status', progress);
})
.then(function (result) {
console.log('user replication resolved with', result);
return true
})
.catch(function (reason) {
console.log('user replication exception', reason);
return startReplication(username);
})
}
在的console.log进展结果( '用户复制状态',进度);
user replication status Object {change: Object}
change: Object
doc_write_failures: 0
docs: Array(604)
docs_read: 604
docs_written: 604
errors: Array(0)
last_seq: 452349
ok: true
start_time: "2017-07-07T18:37:34.353Z"
我在找很久的答案,但任何解决方案都很有效。我不希望从couchDB 604转换为25Kb的1个文档。考虑通过2g/3g连接传输的25kb x 603无用数据,并帮助我仅转发有用的数据。
OBS:Fauxton紧凑&清洁是这个过程之前使用
您是否对PouchDB进行了与CouchDB同步的更改?或者所有更改都是在CouchDB中发起的,并且PouchDB的副本是只读的? – Flimzy
双方都有变化,大部分变化都来自CouchDB –
在这种情况下,额外的转速不是无用的数据;他们用于解决冲突。 – Flimzy