Couchbase lite 为什么couchbase lite总是同步

Couchbase lite 为什么couchbase lite总是同步,couchbase-lite,Couchbase Lite,我在Android上使用couchbase lite 1.4。我注意到我的数据库对象始终在同步数据,即使我的服务器数据库中没有更改。 这是我的代码: master.addChangeListener(new Database.ChangeListener() { @Override public void changed(Database.ChangeEvent event) { if (e

我在Android上使用couchbase lite 1.4。我注意到我的
数据库
对象始终在同步数据,即使我的服务器数据库中没有更改。 这是我的代码:

master.addChangeListener(new Database.ChangeListener() {
                @Override
                public void changed(Database.ChangeEvent event) {

                    if (event.isExternal()) {
                        for (DocumentChange dc : event.getChanges()) {
                            if (dc.isDeletion()) {
                                Document doc = event.getSource().getDocument(dc.getDocumentId());
                                try {
                                    doc.purge();
                                } catch (CouchbaseLiteException e) {
                                    Log.i("Synchronization","error"+e.getMessage());
                                }
                            }
                            Log.i("Synchronization",
                                    "total documents"+master.getDocumentCount());
                            Log.i("Synchronization",
                                    "id=>"+dc.getDocumentId()+ " revision=>"+ 
                                            dc.getRevisionId()+ " is deletion ?"+dc.isDeletion() +
                                            "is conflict ?"+dc.isConflict());
                            Log.i("Synchronization",
                                    "total documents are"+master.getDocumentCount());
                        }
                    }
                }
            });

            ViewHolder.initAllViews(master, work);
这是我在日志上看到的:

05-31 19:30:57.544 I/Synchronization: id=>71ad7c09474bb379973a586d41faa376 revision=>3-ff6f2413c947e6679bba9c5d9a8ed056 es borrado?true esta en conflicto?false
05-31 19:31:07.759 I/Synchronization: total documentos 1165510
05-31 19:31:17.951 I/Synchronization: total documentos 1165510
05-31 19:31:17.951 I/Synchronization: id=>c034b94e3b0d2331b90e5ec801bcb83f revision=>11-174ab092fae645e611832a1532d53d7c es borrado?true esta en conflicto?false
05-31 19:31:28.107 I/Synchronization: total documentos1165510
05-31 19:31:38.268 I/Synchronization: total documentos1165510
05-31 19:31:38.269 I/Synchronization: id=>d0bbb7231659b48fa893e34cc4c2b90e revision=>12-a990bdc7881d8cc45fd1585afbeb91e2 es borrado?true esta en conflicto?false
05-31 19:31:48.437 I/Synchronization: total documentos1165510
05-31 19:31:58.710 I/Synchronization: total documentos1165510
05-31 19:31:58.710 I/Synchronization: id=>dbebc1b9c32f33a90a124560cf8b0a3a revision=>11-295d06f0148c4cbbe96920a517786ada es borrado?true esta en conflicto?false
05-31 19:32:08.902 I/Synchronization: total documentos 1165510
05-31 19:32:19.135 I/Synchronization: total documentos 1165510
05-31 19:32:19.135 I/Synchronization: id=>434c1966903c13895699240e1198d8e8 revision=>9-0ca58c84c7ddf09edd1e15f22c3bdafb es borrado?true esta en conflicto?false
05-31 19:32:29.315 I/Synchronization: total documentos 1165510:
正如您所看到的,我总是得到相同数量的总文档

1165510

所以文档永远不会被清除,但数据库总是同步数据,这就是我的问题。 另一方面,在数据库服务器站点上,如果我尝试通过Id查找文档(我从log cat复制的一个,例如最后一个:434c1966903c13895699240e1198d8e8),我会从服务器得到以下答案:

有关于我做错了什么的线索吗

新增:当我删除服务器站点中的文档时,我面临着一个问题

“_deleted”:真


这里有几件事:

  • 清除已删除的文档不会更改文档计数。那些 正在清除文档
  • 此外,本地清除的文档将由 以本地数据库为目标的复制(拉入或推入)
引用@Jay的话,他在评论中给出了正确的答案:

删除文档(在服务器上)不会阻止文档复制到其他数据库。


相反,使用Purge(在服务器上)将完全删除文档,从而阻止其复制到其他数据库。(当然,请注意,这不会导致文档在其他数据库中被删除。)

没有此类版本的Couchbase Lite。请仔细检查。确实,抱歉,删除文档不会阻止文档复制到其他数据库。如果改用
清除
,则可以完全删除,并且不会复制到其他数据库。