gpt4 book ai didi

java - 从 mongodb BasicDBobject 中提取字段值

转载 作者:行者123 更新时间:2023-11-29 07:06:14 26 4
gpt4 key购买 nike

我正在开发简单的 Web 应用程序来学习 jsp、mongodb、html。我在 jsp 中创建了一个简单的注册表单,它从用户那里获取 Name、Address 和 MobileNo 信息并将其插入到 mongodb 中,现在我想检索这个存储的数据并将每个字段的值放入单独的字符串变量中。

例如:

Name: varun;
Address: Nagpur;
MobileNo: 1234567890

以上数据在 mongodb 中存储为:

{ 
"_id" : ObjectId("5259bacea6f8b1c4cd3431d3"),
"Name" : "varun",
"Address" : "nagpur",
"MobileNumber" : "1234567890"
}

在jsp中获取如下:

MongoClient mongoC = new MongoClient(new ServerAddress("Localhost",27017));
DB database = mongoC.getDB("dbfrnzout");
DBCollection collec1 = database.getCollection("coll");
DBObject dock= collec1.findOne();
out.println(dock);

此代码将一条记录打印为 json 文档,我想存储与每条记录相关的值

单个字符串变量中的字段,如下所示:

String s1 = varun 即。字段名称的值

需要一些指导。

最佳答案

DBObject 实现了 Map 接口(interface),因此您应该能够执行如下操作:

String name = (String) dock.get( "Name" );
String address = (String) dock.get( "Address" );
String mobileNumber = (String) dock.get( "MobileNumber" );

小心转换并确保您确定每个字段的类型和存在。对于数值,我强烈建议转换为 Number 而不是 Integer,因为 MongoDB 会将值重新转换为 LongDouble 在最奇怪的时候。

HTH,罗伯。

编辑:如果您正在迭代查询的结果,您将必须检查从迭代器返回的每个文档

DBCollection collec1 = database.getCollection("coll"); 
for( DBObject dock : collec1.find() ) {
String name = (String) dock.get( "Name" );
String address = (String) dock.get( "Address" );
String mobileNumber = (String) dock.get( "MobileNumber" );

// Do Something...
}

关于java - 从 mongodb BasicDBobject 中提取字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19435621/

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