gpt4 book ai didi

java - 返回列表中一个或多个元素与字段匹配的所有元素的查询 Java MongoDB Driver 3.7.1

转载 作者:行者123 更新时间:2023-12-01 19:57:04 25 4
gpt4 key购买 nike

我正在尝试思考如何设计特定的查询。

我得到了一个电台列表,其名称由用户在运行时选择,存储在列表中。也就是说,列表大小和内容可能会发生变化,但类型始终相同。我在数据库中获得了具有相似站名称的数据元素。

我想设计一个查询来查找站名称与列表中的站名称匹配的所有文档。

假设我有一个电台名称列表 List<String> StationNames = ["Bob", "Allan"]以及具有以下电台名称的字段

{station_name: "Bob"} ,  {station_name: "Allan"} , {station_name: "Steve"} , {station_name: "Patricia"}

然后,查询将返回前两个文档,因为 Bob 在列表中,Allan 在列表中。

我将如何设计这个查询?我的问题是设计它,以便它根据列表中的字符串动态工作,如果列表长度没有改变,我会添加一个 eq(stationName, StationNames[i]) 或者我会进行多个查询并将结果添加到单个列表中但我认为在单个查询中执行此操作会更有效。

最佳答案

以下是编写查询的方法:

// The input list
List<String> stationNames = [ "Bob", "Allan" ];

// The query
Document filter = new Document( "station_name", new Document( "$in", stationNames ) );
List<Document> results = new ArrayList<>();
myCollection.find( filter ).into( results );

结果列表将包含电台名称为“Bob”和“Allan”的文档。

关于java - 返回列表中一个或多个元素与字段匹配的所有元素的查询 Java MongoDB Driver 3.7.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59032804/

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