1. 程式人生 > >Java操作MongoDB的基礎語法

Java操作MongoDB的基礎語法

1.查詢一條文件

//查詢uid為14743423415102的文件
BasicDBObject bson = new BasicDBObject("uid", 14743423415102);
FindIterable<Document> documents = collection.find(bson);       
Document document = new Document();
for(Document doc : documents){
    document = doc;
    break;
}

2.更新一條文件中的欄位
存在弊端,若欄位型別不一致,會丟擲異常
推薦用下面一條$set方法進行更新

//更新uid為14743423415102文件中的name欄位值
BasicDBObject bson = new BasicDBObject("uid", 14743423415102);
BasicDBObject bson1 = new BasicDBObject("name", "jack");
UpdateResult result = collection.updateOne(bson, bson1);

3.在一條文件中插入(更新)欄位
$set:用來指定一個鍵並更新鍵值,若鍵不存在並建立。
有效的防止了欄位型別不一致導致的更新值失敗問題

//在uid為14743423415102文件中插入欄位名為name、欄位值為jack的欄位
BasicDBObject bson = new BasicDBObject("uid", 14743423415102); BasicDBObject bson1 = new BasicDBObject("name", "jack"); UpdateResult result = collection.updateOne(bson, new BasicDBObject("$set", bson1));

4.刪除一條文件中的欄位
$unset:主要是用來刪除鍵

//刪除uid為14743423415102文件的name欄位
BasicDBObject bson = new BasicDBObject("uid"
, 14743423415102); BasicDBObject bson1 = new BasicDBObject("name", "jack"); UpdateResult result = collection.updateOne(bson, new BasicDBObject("$unset", bson1););

5.在陣列中插入文件
$push:陣列修改器

//找出country為China的文件中,並向該文件中的record欄位下的2017-08-29陣列中插入文件
BasicDBObject bson = new BasicDBObject("country", "China");
String dateStr = '2017-08-29';
BasicDBObject bson1 = new BasicDBObject("$push", new BasicDBObject("record."+dateStr, document));
collection.updateOne(bson, bson1);

這裡寫圖片描述