java使用mongodb

增刪改查例子:

import java.util.HashMap;
import java.util.Map;
import org.bson.Document;
import org.bson.conversions.Bson;
import org.bson.types.ObjectId;
import org.junit.Before;
import org.junit.Test;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;

public class MongoDBCRUD {

//創建連接的客戶端
MongoClient client = null;
//獲取數據庫對象,itsource爲數據庫名
MongoDatabase database = null;
//獲取集合對象,user爲集合名
MongoCollection<Document> collection = null;

@Before
public void beginMethod() {
client = new MongoClient("localhost", 27017);
database = client.getDatabase("itsource");
collection = database.getCollection("user");
}

//查詢多條
@Test
public void testFindAll() throws Exception{
//具體操作
FindIterable<Document> it = collection.find();
//it.iterator()是一個遊標對象
MongoCursor<Document> cursor = it.iterator();
while (cursor.hasNext()) {
//打印每個文檔對象
Document doc = cursor.next();
System.out.println(doc);
//打印該文檔對象的name屬性
String name = doc.getString("name");
Double age = doc.getDouble("age");
String email = doc.getString("email");
System.out.println(name+ ", " +age + ", " +email);
}
//釋放資源
cursor.close();
client.close();
}

//查詢一條
@Test
public void testFindOne() throws Exception{
//具體操作
//Bson filter = new BasicDBObject("_id", new ObjectId("58e6f4ca54a79a2dedc59e6f"));
Bson filter = new BasicDBObject("_id", 22);//查詢條件,多個條件時使用參數爲map的方法,如果_id爲自動生成的,則第二個參數爲new ObjectId("58e6f4ca54a79a2dedc59e6f")
FindIterable<Document> it = collection.find(filter);
//it.iterator()是一個遊標對象
MongoCursor<Document> cursor = it.iterator();
while (cursor.hasNext()) {
//打印每個文檔對象
Document doc = cursor.next();
System.out.println(doc);
//打印該文檔對象的name屬性
String name = doc.getString("name");
Double age = doc.getDouble("age");
System.out.println(name+ ", " +age);
}
//釋放資源
cursor.close();
client.close();
}

//插入
@Test
public void testInsert() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("_id", 109);
map.put("name", "Mary");
map.put("gender", "gril");
//愛好不止一個,所以用Map封裝
Map<String, Object> hobbyMap = new HashMap<String, Object>();
hobbyMap.put("sport", "pingPong");
hobbyMap.put("cloth", "t-shirt");
hobbyMap.put("computer", "lenovo");
map.put("hobby", hobbyMap);
Document document = new Document(map);
collection.insertOne(document);
client.close();
}

//更新
@Test
public void testUpdate() throws Exception {
Bson filter = new BasicDBObject("_id", new ObjectId("58e735575edb811aa4f248ef"));
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "張無忌");
map.put("gender", "男");
Bson update = new BasicDBObject(map);
collection.updateOne(filter, new BasicDBObject("$set", update));
client.close();
}

//刪除
@Test
public void testRemove() throws Exception {
Bson filter = new BasicDBObject("_id", 108);
collection.deleteOne(filter);
System.out.println("集合中的文檔條數爲: " + collection.count());
client.close();
}
}

發佈了51 篇原創文章 · 獲贊 80 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章