我使用一个复杂的查询查询我的消防数据库。
.whereIn(gender_node, getInterestedIn())
.whereGreaterThanOrEqualTo(birthdate_year_node, getShowAgeMax() + 1)
.whereLessThanOrEqualTo(birthdate_year_node, getShowAgeMin())但是我遇到了一个IndexOutOfBoundException,因为getDocuments().size()不等于getDocumentChanges().size()。
我在文档中找不到任何东西,有人知道getDocuments().size() != getDocumentChanges().size()什么时候或为什么吗?我以为每个Document都会有一个Document。
这并不是每次都会发生,这使得调试变得很困难。
有7个测试文档,getDocuments().size()总是7,但getDocumentChanges().size()有时是5,据我所见,似乎总是数字5。
发布于 2021-10-28 11:12:58
getDocument().size()和getDocumentChanges().size()是两种不同的方法。
有关这些方法的详细信息可以在文件部分中找到。
假设,如果您有7个文档,并且自上次快照以来对2个文档进行了更改,那么getDocument().size()将为7(包括新添加或修改的文档) 这里和getDocumentChanges().size()将始终引用更改的文档数,在本例中为2。
getDocument().size()!= getDocumentChanges().size()
是真的。
发布于 2021-10-26 02:47:44
你是否有可能在这条线上有额外的偏执?(就在birthdate_year_node之后)
.whereLessThanOrEqualTo(birthdate_year_node),getShowAgeMin())否则,您能否单独运行3条"where“子句中的每一条代码,以便我们知道这三条中的哪一条创建了问题。
https://stackoverflow.com/questions/69716522
复制相似问题