我收集了2k份文件。我已经实现了分页,所以一次可以得到10个文档。文档如下所示:
docId
- name: "itemName"
- price: 20
- lastModified: May 22, 2020 at 1:23:22 PM UTC
要获取前10个元素,我使用以下查询:
Query query = db.collection("items").orderBy("name", ASCENDING).limit(10);
要获得接下来的10个文档,我使用:
Query nextQuery = query.startAfter(lastVisibleDocumentSnapshot);
第一次打开应用程序时,我会滚动3页,这样总共会向缓存中添加30个文档。第二次打开应用时,我不想再次下载文档。由于我有lastModified
字段,我可以查询:
db.collection("items").whereGreaterThan("lastModified", someDate);
这将返回所有新的/修改的文档,这很糟糕,因为如果添加了200个文档,我会为它们付费。换句话说,我花了200次阅读可能不感兴趣的文档。如果这30个文档中有一个发生了更改,我如何才能支付读取操作费用?
听起来,你试图用你的数据做的事情是不可能的。不能让查询按与范围查询不同的字段排序。因此,如果您在lastModified
上有一个范围查询,那么您也不能按name
订购。如果按名称
订购,则不能按上次修改
使用范围过滤器。
本文向大家介绍查找对C ++感兴趣的程序,包括了查找对C ++感兴趣的程序的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将讨论一个寻找复利的程序。 复利是通过将当前利息加到本金上,然后根据更新后的金额计算利息而得出的利息。 示例 输出结果
问题内容: 我正在尝试使用opencv python获取图像区域(ROI)。使用的opencv版本是2.4.3。但是,当我尝试调用API时 它返回此错误 同样在检查文档时,似乎表明此api是旧版python函数。 http://docs.opencv.org/2.4.3/search.html?q=setimageroi 我不确定如何使用当前版本的python中的opencv获得投资回报。有人可以
必须确保进度必须由我们的同步机制提供。 在转向变量机制中,由于不想进入临界区的进程并没有考虑其他感兴趣的进程,所以没有提供进展。 另一个进程也将不得不等待,而不管临界区内部没有进程。 如果操作系统可以利用额外的变量以及转向变量,那么这个问题就可以解决,而且我们的问题可以在大部分范围内提供进展。 感兴趣的变量机制利用额外的布尔变量来确保提供进度。 对于进程Pi 对于进程Pj 在这个机制中,使用了一个
问题内容: 我有按日期排序的旅行数据(大集合)列表。 现有行为 我将所有行程数据存储到SqlLite Db中。对于添加的每个新数据,我通常都会收到fcm通知,并且使用上次更新的时间概念仅同步新添加的数据。这样,当cx打开应用程序时,他将始终从我的数据库中读取数据,从而节省了 读取 和 网络 操作。 如何使用Firestore达到相同的目的? 需要考虑的几个问题: Firestore get()始终
问题内容: 我有以下从缓冲读取器读取数据的示例: 每当缓冲读取器中出现某些情况时(在这种情况下),将执行循环中的代码。在我的情况下,如果客户端应用程序将某些内容写入套接字,则将执行循环中的代码(服务器应用程序中)。 但是我不明白它是如何工作的。等待直到缓冲读取器中出现某些内容,当其中出现某些内容时,它将返回并执行循环中的代码。但是什么时候可以退货。 还有另一个问题。上面的代码摘自一个方法,我在线程
问题内容: 我有servlet- api版本2.5,作为pom.xml中提供的范围。这是我的项目的dependency:tree输出的一部分。“从2.3版本管理;从编译范围管理”是什么意思? 这是否意味着我的类路径上对版本2.3有一些传递依赖?我的WAR文件根本没有servlet- api jar,但是我使用的是Spring 2.5.4的旧版本。我怀疑Spring框架取决于servlet-api