Java操作MongoDB 3.x
阿新 • • 發佈:2018-12-24
一. 新增依賴
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.2</version>
</dependency>
二. 建立連線
private static MongoCollection<Document> collection = null;
public static void main(String[] args){
try {
MongoClient client = new MongoClient("ip", 27017);
MongoDatabase mydb = client.getDatabase("mydb");
System.out.println("連線成功");
//新建立一個集合
//mydb.createCollection("userinfo");
//獲取指定集合的連線
collection = mydb.getCollection("userinfo");
} catch (Exception e){
e.printStackTrace();
}
}
三. 插入
public void insert(){
Document document = new Document();
document.append("name", "Jack");
document.append("age", 20);
document.append("scholl", "Beida");
document.append("address", "guangzhou");
//插入陣列
document.append("likes", new ArrayList<String>(Arrays.asList(new String[]{"basketball", "football"})));
//插入內嵌文件
Document innerDoc = new Document();
innerDoc.append("father", "Ben");
innerDoc.append("mother", "meihua");
document.append("parent", innerDoc);
//執行插入
collection.insertOne(document);
}
四. 查詢
1. 查詢一個
/**
* 查詢一個
*/
public void findOne(){
//查詢第一個文件
Document document = collection.find().first();
System.out.println(document.toJson());
}
2. 查詢所有
/**
* 查詢所有
*/
public void findAll(){
MongoCursor<Document> cursor = collection.find().iterator();
while (cursor.hasNext()){
System.out.println(cursor.next().toJson());
}
}
3. 條件查詢
/**
* 條件查詢,使用BasicDBObject
*/
public void find(){
BasicDBObject object = new BasicDBObject();
object.put("name", "Jack");
Document doc = collection.find(object).first();
if(doc != null){
System.out.println(doc.toJson());
}
}
五、更新
/**
* 更新文件
*/
public void update(){
//查詢要更新的doc
BasicDBObject object = new BasicDBObject();
object.put("age", 20);
//建立更新的doc
BasicDBObject newObj = new BasicDBObject();
newObj.put("age", 50);
//具體用什麼操作更新
BasicDBObject update = new BasicDBObject("$set", newObj);
collection.updateOne(object, update);
}
六、刪除
public void delete(){
BasicDBObject object = new BasicDBObject();
object.put("name", "Jack");
collection.deleteOne(object);
}