gpt4 book ai didi

Java RethinkDB 预期类型 DATUM 但发现 SELECTION

转载 作者:行者123 更新时间:2023-12-01 09:20:20 24 4
gpt4 key购买 nike

我正在使用适用于 Java 的 RethinkDB 驱动程序。我想过滤表 jam 中没有字段 endAt 的行,如下所示:

public List<Jam> getCurrent(){
Cursor cursor = r.table("jam")
.filter(row -> row.hasFields("endedAt")).not()
.run(conn);
List<Map<String,Object>> list=cursor.toList();
return list.stream().map(item->JamRepository.toJam(item)).collect(Collectors.toList());
}

我收到此错误预期类型 DATUM 但发现 SELECTION Java

我在另一个类中有另一个过滤函数:

public List<Speedlog> getByTime(long time){
Cursor cursor = r.table("speedlog")
.filter(row -> row.g("createdAt").eq(time))
.run(conn);
List<Map<String,Object>> list=cursor.toList();
return list.stream().map(item->SpeedlogRepository.toSpeedlog(item)).collect(Collectors.toList());
}

该功能正常工作

谁能解释一下这两者之间有什么区别吗?为什么 getCurrent 函数会出现该错误?它的含义是什么以及如何解决?谢谢

最佳答案

not() 应该紧接在 row.hasFields("endAt") 之后。现在,您尝试对 filter 函数的结果调用 not() 。所以,正确的代码:

public List<Jam> getCurrent(){
Cursor cursor = r.table("jam")
.filter(row -> row.hasFields("endedAt").not())
.run(conn);
List<Map<String,Object>> list=cursor.toList();
return list.stream().map(item->JamRepository.toJam(item)).collect(Collectors.toList());
}

关于Java RethinkDB 预期类型 DATUM 但发现 SELECTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40206697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com