0

在我的 Android 应用程序中,我使用 Couchbase Mobile 运行 LiveQuery,它为我提供了模型的一个子集。

有时我会从中获取一个对象并使用 document.putProperties(updatedProps) 对其进行更新。

我注意到我的查询没有给出另一个结果,即使我的 map 函数中发出的值不同。事实上,只有在我关闭查询并开始另一个查询之前,才会调用 map 函数。

我唯一能想到的是,我的查询(在这种情况下)是在 setMapOnly 设置为 true 的情况下进行的。

任何想法为什么会发生这种情况?谢谢!

测试设备:Nexus 5 (5.0.1 Lollipop) 和 Shield Tablet (5.0.1 Lollipop) Couchbase Lite 版本:1.0.3.1 和 1.0.4

4

1 回答 1

0

看看这个线程:https ://forums.couchbase.com/t/android-livequery-changeevent-getrows-not-returning-original-data/6908/2?u=bundee

该页面还将事件歪曲为与文档更改有关,而实际上它与视图索引更改有关。或者更确切地说,事件触发是因为查询的结果发生了变化。根据视图的映射函数索引的内容,文档可能会在不更改查询结果的情况下进行更改。或者文档更改可能会导致多个查询行发生更改。

所以这个 LiveQuery 概念并没有我想象的那么有用......

于 2017-01-27T14:04:15.790 回答