gpt4 book ai didi

java - 如何将 mongodb 列中的所有值检索到 ArrayList 中?

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

这是我存储在 mongo db 中的数据的值。我怎样才能检索“HomeTown”的所有数据并将其全部存储到列表中?我的列表将包含 AA、AA、BB、BB 等...我想使用该数组列表来创建每个家乡的 for 循环。

示例 mongo 数据

 [{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "AA" , 
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

[{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "AA" ,
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

[{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "BB" ,
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

[{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "BB" ,
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

如何将 Java 中“HomeTown”的所有值放入数组中?我正在尝试使用家乡名称创建一个 for 循环。我目前正在通过 Spring boot 使用 mongodb 依赖项。我不确定如何将 mongodb 实现到我的 java 中以使用 mongo db。

尝试/问题

我能够使用以下代码检索列表中的 mongodb 值。我正在尝试将此列表转换为数组列表。

public List<AppPortModel> getAppPortList() {
List<ApServerModel> objLst = mongoOperations.findAll(ApServerModel.class);

String[] apServerArray = new String[objLst.size()];
for(int i = 0; i < objLst.size(); i++) {
apServerArray[i] = objLst.get(i);
}

objLst.get(i) 出错

Type mismatch: cannot convert from ApServerModel to String

遵循 Sagar 示例的尝试 #2

        @Autowired
MongoOperations mongoOperations;

MongoCollection<ApServerModel> myCollection = **mongoOperations.getCollection("apAllCustomer");**

List<ApServerModel> result = myCollection.find().into(new ArrayList<>());

mongoOperations.getCollection 错误

Type mismatch: cannot convert from DBCollection to MongoCollection<ApServerModel>

最佳答案

看起来您正在使用 mongo 3.x 驱动程序。您需要使用类似的东西。

MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("mkoydb");
MongoCollection<Document> myCollection = db.getCollection("apAllCustomer");
List<Document> result = myCollection.find().into(new ArrayList<>());

修复尝试 1:

public List<AppPortModel> getAppPortList() {
List<ApServerModel> objLst = mongoOperations.findAll(ApServerModel.class);
String[] apServerArray = new String[objLst.size()];
for(int i = 0; i < objLst.size(); i++) {
apServerArray[i] = objLst.get(i).getHomeTown();
}

修复尝试 2:

 DBCollection dbCollection = mongoOperations.findAll(AppServreModel.class, "apAllCustomer");

关于java - 如何将 mongodb 列中的所有值检索到 ArrayList 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41145058/

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