设备类型.java
private String Id;
private List<DeviceTelemetry> telemetries = new ArrayList<>()
//Getter Setter
DeviceTelemetry.java (枚举类)
private String name;
private String description;
//Getter Setter
我想获取所有DeviceType Id,它们的DeviceTelem计名称以“System”(String)开头。
我做了这样的事情:—
List<DeviceType> filteredStartWithDeviceType =deviceTypes.stream().
filter(f -> f.getTelemetries().stream()
.anyMatch(g -> g.getName().startsWith("System"))).collect(Collectors.toList());
谁能告诉我如何从中获取DeviceType Id?
您只需将< code>DeviceType的值< code >映射到< code>String
java prettyprint-override">List<String> filteredStartWithDeviceType = deviceTypes.stream()
.filter(f -> f.getTelemetries().stream()
.anyMatch(g -> g.getName().startsWith("System")))
.map(DeviceType::getId) // or .map(dt -> dt.getId()) if you prefer this syntax
.collect(Collectors.toList());
问题内容: 我有这样的角度嵌套对象。有没有办法为嵌套属性过滤它 我只显示父元素,但想按两个元素进行过滤,例如: 问题答案: 是的,如果我正确理解您的示例,则可以。 根据集合的大小,计算迭代所用的集合可能会更好,这样过滤器就不会随着模型的更改而不断地进行操作。 http://jsfiddle.net/suCWn/ 基本上,如果我理解正确,您会执行以下操作:
问题内容: 使用嵌套对象的布尔运算符时遇到一些麻烦。这是我的映射: 我想获取恰好包含两个指定ip甚至更多的文档。 假设我的文档具有以下ips: 我想通过使用此过滤器进行搜索来仅检索DOC 1: 问题在于,同时检索了DOC 1和DOC2。 问题答案: 你可以使用你的条件过滤器是这样的: 这是我用来测试的一些代码: http://sense.qbox.io/gist/d6b5f4e4c0d2977a0
我有一个这样的对象数组: 我正在尝试按类别分组,并创建一个名为children的数组,然后此数组有另一个按服务分类分组的嵌套子数组 所需输出 我已经尝试了几个小时,下面是我尝试的代码示例: https://mongoplayground.net/p/Asb5THvqlf6
我有一个映射: 我使用三个条件进行筛选: “日志类型”是“爬虫” “2020-05-23”上的“创建数据” “resp”的大小=0 我试图过滤与查询: {"查询":{"bool":{"必须":[{"术语":{"_logType":{"value":"爬虫"}}},{"范围":{"_createdAt":{"gte":"2020-05-23","lte":"2020-05-23","time_zon
我想使用mongodb聚合匹配操作,通过字符串中多个嵌套对象的对象Id筛选mongodb集合。但是,在匹配操作中,spring data mongodb不会将字符串值转换为对象Id。 当Spring data mongodb将字符串值转换为oid时,我能够通过字符串值中的多个文档Id(主键,而不是嵌套对象的对象Id)过滤文档,没有任何问题: 我想要达到的目标如下: 但我总是得到以下信息: Spri
我的mongoDB集合中有一千多个文档,其中每个文档都表示这样一首歌的数据: 现在,在聚合管道的帮助下,我想按以下方式对我的集合进行分组。到目前为止,我可以对1个阶段进行分组,但我很难将整个根文档进行到底,并进行嵌套分组。 列出所有流派-