gpt4 book ai didi

java - 使用 Java 从 MongoDB 返回多个文档

转载 作者:可可西里 更新时间:2023-11-01 10:02:24 26 4
gpt4 key购买 nike

我已经在万维网上搜索了几个小时,但找不到解决我的问题的可行方法:

这很简单:我想从我的 MongoDB 中搜索项目集合并返回所有文档。

从 RESTFul API 的角度来看:GET/items - 返回集合中的所有项目。未排序

// NOT WORKING - STILL TRYING  
public static String getItems() {

StringBuilder items = new StringBuilder();
MongoCursor<Document> cursor = itemCollection.find().iterator();
try {

while (cursor.hasNext()) {
items.append(cursor.next().toJson());

}

} finally {
cursor.close();
}

return items.toString();
}

如您所见,我返回了一个 StringBuilder,因为我想将每个文档连接成一个大块。但这返回为 TEXT 而不是 JSON。见下文:

这是当读取类型设置为JSON
When JSON is set as read type

下面是当读取类型设置为TEXT时,它创建了我需要的输出,但它不是正确的格式。

When TEXT is set as read type

我不能将它作为文档返回然后使用方法:toJson(),因为它只会返回最后一个条目。我试过使用列表,但无法将其转换为 JSON 文档。以上是我最接近我需要的。

我希望这里有人遇到过与我相同的问题,并且可以提供快速提示来解决我遇到的问题:-)。

最佳答案

您可以将 JSON 字符串收集到 List 中,并将该列表格式化为 JSON 数组字符串:

public static String getItems() {
List<String> items = new ArrayList<>();
MongoCursor<Document> cursor = itemCollection.find().iterator();
try {
while (cursor.hasNext()) {
items.add(cursor.next().toJson());
}
} finally {
cursor.close();
}

return "[" + String.join(", ", items) + "]";
}

关于java - 使用 Java 从 MongoDB 返回多个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47021406/

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