繁体   English   中英

如何仅将有用的数据从CouchDB传输到PouchDB

[英]How to transfer only useful data from CouchDB to PouchDB

我正在尝试仅将最新版本从ouchDB复制到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"

我一直在寻找答案,但是任何解决方案都是有效的。 我不想从1doc的25Kb的ouchDBDB 604修订版中转移。 考虑一下通过2g / 3g连接传输的25 kb x 603的无用数据,并帮助我仅传输有用的数据。

OBS:在此过程之前使用Fauxton Compact&Clean

您可以使用pouchdb-load之类的东西来

从转储文件将文档加载到CouchDB / PouchDB中

然后,像往常一样同步,鲍勃是你的叔叔。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM