如何使用java在mongodb中存储对象
有一个名为Accessdemo的类。它的数据成员包括姓名、地址、电话号码和电子邮件。我已经完成了mongodb的连接,它正在工作。现在我想将对象存储在数据库中并检索它。有没有任何解决方案可以提示我如何做到这一点 这是我的密码如何使用java在mongodb中存储对象,java,mongodb,Java,Mongodb,有一个名为Accessdemo的类。它的数据成员包括姓名、地址、电话号码和电子邮件。我已经完成了mongodb的连接,它正在工作。现在我想将对象存储在数据库中并检索它。有没有任何解决方案可以提示我如何做到这一点 这是我的密码 package mongotutdemo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb
package mongotutdemo;
import java.net.UnknownHostException;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
class AccessObject extends BasicDBObject {
public static final String COLLECTION_NAME = "Employee";
String address = "";
String First_Name = "Jeff";
String last_Name ="Herrick";
String email = "co@cpm.siemens.com";
String phone_number="262-555-2724";
public void setAddre(String value){
address = value;
}
public String getAddress(){
return address;
}
public void setFirstName(String value){
First_Name = value;
}
public String getFName(){
return First_Name;
}
public void setLName(String value){
last_Name = value;
}
public String getLName(){
return last_Name;
}
public void setEmail(String value){
email = value;
}
public String getEmail(){
return email;
}
public void setPNumber(String value){
phone_number = value;
}
public String getPNumber(){
return phone_number;
}
}
public class AccessObjectID{
public static void main(String[] args)throws UnknownHostException {
AccessObject obj1 = new AccessObject();
AccessObject obj2 = new AccessObject();
AccessObject obj3 = new AccessObject();
obj1.setAddre("Sector No:-42,Los Angeles,USA");
obj1.setFirstName("Jack");
obj1.setLName("Reacher");
obj1.setEmail("Jack_reacher@myid.com");
obj1.setPNumber("02024568963");
MongoClient mongoclient = new MongoClient("localhost",27017);
DB dbobj = mongoclient.getDB("mongotutdb");
DBCollection colc = dbobj.getCollection(AccessObject.COLLECTION_NAME);
colc.save(obj1);
System.out.println("*******"+colc.findOne());
BasicDBObject basicdbobj = new BasicDBObject();
//BasicDBObject basicdbobj1 = new BasicDBObject("name", "movie");
for(int i=0;i<5;i++){
basicdbobj.put("address", obj1.address);
}
//System.out.println("Object1 :-"+basicdbobj1);
}
}
mongotutdemo包;
导入java.net.UnknownHostException;
导入com.mongodb.BasicDBObject;
导入com.mongodb.DB;
导入com.mongodb.DBCollection;
导入com.mongodb.DBObject;
导入com.mongodb.MongoClient;
类AccessObject扩展了BasicDBObject{
公共静态最终字符串集合\u NAME=“Employee”;
字符串地址=”;
字符串First_Name=“Jeff”;
字符串last_Name=“Herrick”;
字符串电子邮件=”co@cpm.siemens.com";
字符串电话号码=“262-555-2724”;
公共void setAddre(字符串值){
地址=值;
}
公共字符串getAddress(){
回信地址;
}
public void setFirstName(字符串值){
第一个名称=值;
}
公共字符串getFName(){
返回第一个名称;
}
公共void setLName(字符串值){
姓氏=值;
}
公共字符串getLName(){
返回姓氏;
}
public void setEmail(字符串值){
电子邮件=价值;
}
公共字符串getEmail(){
回复邮件;
}
公共void setPNumber(字符串值){
电话号码=数值;
}
公共字符串getPNumber(){
返回电话号码;
}
}
公共类AccessObjectID{
公共静态void main(字符串[]args)引发UnknownHostException{
AccessObject obj1=新的AccessObject();
AccessObject obj2=新的AccessObject();
AccessObject obj3=新的AccessObject();
obj1.setAddre(“美国洛杉矶42号扇区”);
obj1.setFirstName(“杰克”);
obj1.setLName(“Reacher”);
obj1.setEmail(“杰克_reacher@myid.com");
obj1.setPNumber(“02024568963”);
MongoClient MongoClient=新的MongoClient(“本地主机”,27017);
DB dbobj=mongoclient.getDB(“mongotutdb”);
DBCollection colc=dbobj.getCollection(AccessObject.COLLECTION\u NAME);
colc.save(obj1);
System.out.println(“*******”+colc.findOne());
BasicDBObject BasicDBObject=新的BasicDBObject();
//BasicDBObject basicdbobj1=新的BasicDBObject(“名称”、“电影”);
对于(int i=0;i您可以使用ReflectionDBObject而不是BasicDBObject,也可以使用Java ORM以下是在插入和检索对象时使用文档对象的示例:
Document doc = new Document("_id", 99999);//here I initialised a Document object and directly put some data on it.
doc.append("name", "My Name");//adding more data
ArrayList<Document> scores = new ArrayList<Document>();//What if I want to insert an array of documents
scores.add(new Document("score", 90).append("type", "exam"));//initialise and add a document to the array
scores.add(new Document("score", 100).append("type", "homework"));//one more document added
doc.append("scores", scores);//add the array to the root document
coll.insertOne(doc);//Insert the root document into the collection
//What if I want to retrieve this document
Bson filter = new Document("_id",99999);//Retrieve it using its _id
Document result = coll.find(filter).first();//Here will find the first result
// What if I want to retrieve multiple documents
// ArrayList<Document> results = coll.find(filter).into(new ArrayList<Document>());
Document doc=new Document(“_id”,99999);//这里我初始化了一个Document对象,并直接将一些数据放在上面。
doc.append(“name”、“My name”);//添加更多数据
ArrayList scores=new ArrayList();//如果要插入文档数组,该怎么办
scores.add(新文档(“score”,90)。append(“type”,“exam”);//初始化文档并将其添加到数组中
scores.add(新文档(“scores”,100).追加(“type”,“combiness”);//又添加了一个文档
doc.append(“scores”,scores);//将数组添加到根文档中
coll.insertOne(doc);//将根文档插入集合
//如果要检索此文档,该怎么办
Bson filter=new Document(“_id”,99999);//使用它的_id检索它
Document result=coll.find(filter).first();//此处将查找第一个结果
//如果我想检索多个文档怎么办
//ArrayList results=coll.find(filter).into(new ArrayList());
另一种构建查询的方法是使用辅助类,例如筛选或排序、投影
注意:我使用的是Mongodb java驱动程序3.0.2
有关更多信息,请参阅官方文档:什么是ORM MORPIA?我不理解它。它越来越难理解了