MongoClient client = new MongoClient("localhost",27017); //with default server and port adress
DB db = client.getDB( "your_db_name" );
DBCollection collection = db.getCollection("Your_Collection_Name");
连接后,您可以从服务器中提取数据。下面,我假设您的文档有名称和年龄字段:
DBObject dbo = collection.findOne();
String name = dbo.get("Name");
int age = dbo.get("Age");
class Person {
private String name;
private int age;
public Person() {
// no-args constructor
}
}
Gson gson = new Gson();
Person person = gson.fromJson(json, Person.class);
MongoClient mongodb = new MongoClient("localhost", 27017);
DB db = mongodb.getDB("customData-database");
DBCursor customDataCollection = db.getCollection("customDataList").find();
List<CustomJavaObject> myCustomDataList = null; // this list will hold your custom data
JSON json = new JSON();
ObjectMapper objectMapper = new ObjectMapper();
try {
//this is where deserialiazation(conversion) takes place
myCustomDataList = objectMapper.readValue(json.serialize(customDataCollection),
new TypeReference<List<Restaurant>>() {
});
} catch (IOException e) {
e.printStackTrace();
}
自定义Java对象:
public class CustomJavaObject{
//your json fields go here
String field1, field2;
int num;
ArrayList<String> attributes;
//....write relevantgetter and setter methods
}
9条答案
按热度按时间z4iuyo4d1#
下面是如何连接到您的MongoDB:
连接后,您可以从服务器中提取数据。下面,我假设您的文档有名称和年龄字段:
0ejtzxu12#
看一下GSON库,它将JSON转换为Java对象,反之亦然。
fbcarpbf3#
方法和工具很多,gson就是其中之一
字符串
如果我不添加这个link,我会感到松懈。
9gm1akwq4#
您可以使用Java驱动程序来完成此操作:
如果您有多个对象要管理,则应考虑在Java驱动程序之上使用另一个框架。
wecizke35#
由于我们不想使用过时的方法,因此,您可以使用以下代码来执行此操作:
Jackson使用JsonFactory、JsonParser等将Document反序列化为相关的Entity对象。
tez616oj6#
你考虑过Morphia吗?
nkcskrwz7#
我更喜欢使用新的API,它非常干净和清晰。
详情请参见http://ashutosh-srivastav-mongodb.blogspot.in/2017/09/mongodb-fetch-operation-using-java-api.html
bvpmtnay8#
更新的方法[由于getDB()已弃用]
自从最初的答案发布以来,
DBObject
和相应的方法client.getDB
已经被弃用。对于任何可能正在寻找解决方案的人,因为新的更新,我已经尽了最大的努力来翻译。连接到文档后,有许多熟悉的方法可以将数据作为Java对象获取,假设您计划有多个文档,其中包含人员
name
和他们的age
,我建议收集所有文档(您可以将其可视化为包含姓名和年龄的行)在ArrayList中,那么您可以简单地挑选ArrayList
中的文档,将它们转换为java对象,如下所示:老实说,
for
循环并不是一种很好的方式,但我想帮助社区与弃用作斗争。cig3rfwq9#
尝试使用此函数将mongodb返回的JSON转换为您的自定义java对象列表。
自定义Java对象:
示例json: