Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Couchbase lite android-什么是同步的,什么不是?_Couchbase_Couchbase Lite - Fatal编程技术网

Couchbase lite android-什么是同步的,什么不是?

Couchbase lite android-什么是同步的,什么不是?,couchbase,couchbase-lite,Couchbase,Couchbase Lite,当我们将android中的本地couchbase数据库与服务器同步时,到底同步了什么?我们是否可以控制哪些可以同步,哪些不可以 现在,我给出同步URl,Couchbase同步整个数据库(而不是通过适当的渠道将文档发送到android应用程序)。是否有其他方法控制同步哪些数据? 服务器上创建的视图是否也与移动应用程序同步?如果没有,是否有办法将服务器视图复制到移动应用程序?首先回答第二个问题,视图不会被复制,因为它们是安装在移动设备上的应用程序的一部分。这是有意义的,因为你对数据集的索引实际上是应

当我们将android中的本地couchbase数据库与服务器同步时,到底同步了什么?我们是否可以控制哪些可以同步,哪些不可以

现在,我给出同步URl,Couchbase同步整个数据库(
而不是通过适当的渠道将文档发送到android应用程序
)。是否有其他方法控制同步哪些数据?


服务器上创建的视图是否也与移动应用程序同步?如果没有,是否有办法将服务器视图复制到移动应用程序?

首先回答第二个问题,视图不会被复制,因为它们是安装在移动设备上的应用程序的一部分。这是有意义的,因为你对数据集的索引实际上是应用程序如何使用它的函数。此外,Couchbase Mobile上的视图通常使用本机语言(,)实现


关于同步,通道是过滤将要同步到设备的内容的主要方式。因为它们可以被添加,所以非常灵活。您还想寻求什么其他方法?

我尝试了基于频道的过滤。因此,每当用户登录到我的应用程序时,我都会更改同步url,并且只检索与用户频道相关的适当文档。但当当前用户注销而新用户登录时(技术上是一个新的同步url和一个新频道),旧数据仍然存在。那些只供老用户查看的文档现在也可以被新用户看到。这可能是因为同一个Couchbase Lite数据库用于不同的登录和注销用户。两种可能的解决方法:1)当用户使用
database.delete()注销时删除数据库内容。这样,当下一个用户登录时,数据库将为空。2) 为每个用户选择不同的数据库。例如,选择应用程序中的用户id作为数据库的名称。有关详细信息,请参阅ToDoLite Android应用程序