Java 中對Mongodb 的基本操作
HelloWorld程式
學習任何程式的第一步,都是編寫HelloWorld程式,我們也不例外,看下如何通過Java編寫一個HelloWorld的程式。
首先,要通過Java操作Mongodb,必須先下載Mongodb的Java驅動程式,可以在這裡下載。
新建立一個Java工程,將下載的驅動程式放在庫檔案路徑下,程式程式碼如下:
package com.mkyong.core;import java.net.UnknownHostException;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import
import com.mongodb.Mongo;
import com.mongodb.MongoException;
/**
* Java + MongoDB Hello world Example
*
*/
public class App {
public static void main(String[] args) {
try {
//例項化Mongo物件,連線27017埠 Mongo mongo = new Mongo("localhost", 27017);
//
// Get collection from MongoDB, database named "yourDB"
//從Mongodb中獲得名為yourColleection的資料集合,如果該資料集合不存在,Mongodb會為其新建立 DBCollection collection = db.getCollection("yourCollection");
// 使用BasicDBObject物件建立一個mongodb的document,並給予賦值。
document.put("id", 1001);
document.put("msg", "hello world mongoDB in Java");
//將新建立的document儲存到collection中去 collection.insert(document);
// 建立要查詢的document BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("id", 1001);
// 使用collection的find方法查詢document DBCursor cursor = collection.find(searchQuery);
//迴圈輸出結果 while (cursor.hasNext()) {
System.out.println(cursor.next());
}
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
最後,輸出的結果為:
{ "_id" : { "$oid" : "4dbe5596dceace565d229dc3"} ,"id" : 1001 , "msg" : "hello world mongoDB in Java"}
Done
在上面的例子中,演示了使用Java對Mongodb操作的重要方法和步驟,首先通過建立Mongodb物件,傳入建構函式的引數是Mongodb的資料庫所在地址和埠,然後使用
getDB方法獲得要連線的資料庫名,使用getCollection獲得資料集合的名,然後通過新建立BasicDBObject物件去建立document,最後通過collection的insert方法,將建立的document儲存到資料庫中去。而collection的find方法,則是用來在資料庫中查詢document。
從Mongodb中獲得collection資料集
在Mongodb中,可以通過如下方法獲得資料庫中的collection:
DBCollection collection = db.getCollection("yourCollection");如果你不知道collection的名稱,可以使用db.getCollectionNames()獲得集合,然後再遍歷,如下:
DB db = mongo.getDB("yourdb");Set collections = db.getCollectionNames();
for(String collectionName : collections){
System.out.println(collectionName);
}
完成的一個例子如下:
package com.mkyong.core;import java.net.UnknownHostException;
import java.util.Set;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
/**
* Java : Get collection from MongoDB
*
*/
public class GetCollectionApp {
public static void main(String[] args) {
try {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("yourdb");
Set<String> collections = db.getCollectionNames();
for (String collectionName : collections) {
System.out.println(collectionName);
}
DBCollection collection = db.getCollection("yourCollection");
System.out.println(collection.toString());
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
Mongodb中如何插入資料
下面,講解下如何使用4種方式,將JSON資料插入到Mongodb中去。首先我們準備JSON
格式的資料,如下:
{"database" : "mkyongDB",
"table" : "hosting",
"detail" :
{
records : 99,
index : "vps_index1",
active : "true"
}
}
}
我們希望用不同的方式,通過JAVA程式碼向Mongodb插入以上格式的JSON資料
第一種方法,是使用BasicDBObject,方法如下程式碼所示:
BasicDBObject document = new BasicDBObject();document.put("database", "mkyongDB");
document.put("table", "hosting");
BasicDBObject documentDetail = new BasicDBObject();
documentDetail.put("records", "99");
documentDetail.put("index", "vps_index1");
documentDetail.put("active", "true");
document.put("detail", documentDetail);
collection.insert(document);
第二種方法是使用BasicDBObjectBuilder物件,如下程式碼所示:
BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start().add("database", "mkyongDB")
.add("table", "hosting");
BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()
.add("records", "99")
.add("index", "vps_index1")
.add("active", "true");
documentBuilder.add("detail", documentBuilderDetail.get());
collection.insert(documentBuilder.get());
第三種方法是使用Map物件,程式碼如下:
Map documentMap =new HashMap();documentMap.put("database", "mkyongDB");
documentMap.put("table", "hosting");
Map documentMapDetail =new HashMap();
documentMapDetail.put("records", "99");
documentMapDetail.put("index", "vps_index1");
documentMapDetail.put("active", "true");
documentMap.put("detail", documentMapDetail);
collection.insert(new BasicDBObject(documentMap));
第四種方法,也就是最簡單的,即直接插入JSON格式資料
String json ="{'database' : 'mkyongDB','table' : 'hosting',"+"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject =(DBObject)JSON.parse(json);
collection.insert(dbObject);
這裡使用了JSON的parse方法,將解析後的JSON字串轉變為DBObject物件後再直接插入到collection中去。
完整的程式碼如下所示:
packagecom.mkyong.core;importjava.net.UnknownHostException;
importjava.util.HashMap;
importjava.util.Map;
importcom.mongodb.BasicDBObject;
importcom.mongodb.BasicDBObjectBuilder;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.DBObject;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
importcom.mongodb.util.JSON;
/**
* Java MongoDB : Insert a Document
*
*/
publicclass InsertDocumentApp {
publicstaticvoid main(String[] args){
try{
Mongo mongo =new Mongo("localhost", 27017);
DB db = mongo.getDB("yourdb");
// get a single collection DBCollection collection = db.getCollection("dummyColl");
// BasicDBObject example System.out.println("BasicDBObject example...");
BasicDBObject document =new BasicDBObject();
document.put("database", "mkyongDB");
document.put("table", "hosting");
BasicDBObject documentDetail =new BasicDBObject();
documentDetail.put("records", "99");
documentDetail.put("index", "vps_index1");
documentDetail.put("active", "true");
document.put("detail", documentDetail);
collection.insert(document);
DBCursor cursorDoc = collection.find();
while(cursorDoc.hasNext()){
System.out.println(cursorDoc.next());
}
collection.remove(new BasicDBObject());
// BasicDBObjectBuilder example System.out.println("BasicDBObjectBuilder example...");
BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()
.add("database", "mkyongDB")
.add("table", "hosting");
BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()
.add("records", "99")
.add("index", "vps_index1")
.add("active", "true");
documentBuilder.add("detail", documentBuilderDetail.get());
collection.insert(documentBuilder.get());
DBCursor cursorDocBuilder = collection.find();
while(cursorDocBuilder.hasNext()){
System.out.println(cursorDocBuilder.next());
}
collection.remove(new BasicDBObject());
// Map example System.out.println("Map example...");
Map documentMap =new HashMap();
documentMap.put("database", "mkyongDB");
documentMap.put("table", "hosting");
Map documentMapDetail =new HashMap();
documentMapDetail.put("records", "99");
documentMapDetail.put("index", "vps_index1");
documentMapDetail.put("active", "true");
documentMap.put("detail", documentMapDetail);
collection.insert(new BasicDBObject(documentMap));
DBCursor cursorDocMap = collection.find();
while(cursorDocMap.hasNext()){
System.out.println(cursorDocMap.next());
}
collection.remove(new BasicDBObject());
// JSON parse example System.out.println("JSON parse example...");
String json ="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject =(DBObject)JSON.parse(json);
collection.insert(dbObject);
DBCursor cursorDocJSON = collection.find();
while(cursorDocJSON.hasNext()){
System.out.println(cursorDocJSON.next());
}
collection.remove(new BasicDBObject());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}
更新Document
假設如下的JSON格式的資料已經儲存到Mongodb中去了,現在要更新相關的資料。
{"_id" : {"$oid" : "x"} , "hosting" : "hostA" , "type" : "vps" , "clients" : 1000}{"_id" : {"$oid" : "x"} , "hosting" : "hostB" , "type" : "dedicated server" , "clients" : 100}
{"_id" : {"$oid" : "x"} , "hosting" : "hostC" , "type" : "vps" , "clients" : 900}
假設現在要將hosting中值為hostB的進行更新,則可以使用如下的方法:
BasicDBObject newDocument =new BasicDBObject();newDocument.put("hosting", "hostB");
newDocument.put("type", "shared host");
newDocument.put("clients", 111);
collection.update(new BasicDBObject().append("hosting", "hostB"), newDocument);
可以看到,這裡依然使用了BasicDBObject物件,併為其賦值了新的值後,然後使用collection的update方法,即可更新該物件。
更新後的輸出如下:
{"_id" : {"$oid" : "x"} , "hosting" : "hostA" , "type" : "vps" , "clients" : 1000}{"_id" : {"$oid" : "x"} , "hosting" : "hostB" , "type" : "shared host" , "clients" : 111}
{"_id" : {"$oid" : "x"} , "hosting" : "hostC" , "type" : "vps" , "clients" : 900}
另外,還可以使用mongodb中的$inc修飾符號去對某個值進行更新,比如,要將hosting值為hostB的document的clients的值得更新為199(即100+99=199),可以這樣:
BasicDBObject newDocument =new BasicDBObject().append("$inc",new BasicDBObject().append("clients", 99));
collection.update(new BasicDBObject().append("hosting", "hostB"), newDocument);
則輸出如下:
{"_id" : {"$oid" : "x"} , "hosting" : "hostA" , "type" : "vps" , "clients" : 1000}{"_id" : {"$oid" : "x"} , "hosting" : "hostB" , "type" : "dedicated server" , "clients" : 199}
{"_id" : {"$oid" : "x"} , "hosting" : "hostC" , "type" : "vps" , "clients" : 900}
接下來,講解$set修飾符的使用。比如要把hosting中值為hostA的document中的
type的值進行修改,則可以如下實現:
BasicDBObject newDocument3 =new BasicDBObject().append("$set",new BasicDBObject().append("type", "dedicated server"));
collection.update(new BasicDBObject().append("hosting", "hostA"), newDocument3);
則輸出如下,把type的值從vps改為dedicated server:
{"_id" : {"$oid" : "x"} , "hosting" : "hostB" , "type" : "dedicated server" , "clients" : 100}{"_id" : {"$oid" : "x"} , "hosting" : "hostC" , "type" : "vps" , "clients" : 900}
{"_id" : {"$oid" : "x"} , "hosting" : "hostA" , "clients" : 1000 , "type" : "dedicated server"}
要注意的是,如果不使用$set的修飾符,而只是如下程式碼:
BasicDBObject newDocument3 =new BasicDBObject().append("type", "dedicated server");collection.update(new BasicDBObject().append("hosting", "hostA"), newDocument3);
則會將所有的三個document的type型別都改為dedicated server了,因此要使用$set以更新特定的document的特定的值。
如果要更新多個document中相同的值,可以使用$multi,比如,要把所有vps為type的document,將它們的clients的值更新為888,可以如下實現:
BasicDBObject updateQuery =new BasicDBObject().append("$set",new BasicDBObject().append("clients", "888"));
collection.update(new BasicDBObject().append("type", "vps"), updateQuery, false, true);
輸出如下:
{"_id" : {"$oid" : "x"} , "hosting" : "hostA" , "clients" : "888" , "type" : "vps"}{"_id" : {"$oid" : "x"} , "hosting" : "hostB" , "type" : "dedicated server" , "clients" : 100}
{"_id" : {"$oid" : "x"} , "hosting" : "hostC" , "clients" : "888" , "type" : "vps"}
最後,還是給出更新document的完整例子:
package com.liao;import java.net.UnknownHostException;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
publicclass UpdateDocumentApp {
publicstaticvoid printAllDocuments(DBCollection collection){
DBCursor cursor = collection.find();
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
}
publicstaticvoid removeAllDocuments(DBCollection collection){
collection.remove(new BasicDBObject());
}
publicstaticvoid insertDummyDocuments(DBCollection collection){
BasicDBObject document = new BasicDBObject();
document.put("hosting", "hostA");
document.put("type", "vps");
document.put("clients", 1000);
BasicDBObject document2 = new BasicDBObject();
document2.put("hosting", "hostB");
document2.put("type", "dedicated server");
document2.put("clients", 100);
BasicDBObject document3 = new BasicDBObject();
document3.put("hosting", "hostC");
document3.put("type", "vps");
document3.put("clients", 900);
collection.insert(document);
collection.insert(document2);
collection.insert(document3);
}
publicstaticvoid main(String[] args) {
try {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("yourdb");
DBCollection collection = db.getCollection("dummyColl");
System.out.println("Testing 1...");
insertDummyDocuments(collection);
//find hosting = hostB, and update it with new document BasicDBObject newDocument = new BasicDBObject();
newDocument.put("hosting", "hostB");
newDocument.put("type", "shared host");
newDocument.put("clients", 111);
collection.update(new BasicDBObject().append("hosting", "hostB"), newDocument);
printAllDocuments(collection);
removeAllDocuments(collection);
System.out.println("Testing 2...");
insertDummyDocuments(collection);
BasicDBObject newDocument2 = new BasicDBObject().append("$inc",
new BasicDBObject().append("clients", 99));
collection.update(new BasicDBObject().append("hosting", "hostB"), newDocument2);
printAllDocuments(collection);
removeAllDocuments(collection);
System.out.println("Testing 3...");
insertDummyDocuments(collection);
BasicDBObject newDocument3 = new BasicDBObject().append("$set",
new BasicDBObject().append("type", "dedicated server"));
collection.update(new BasicDBObject().append("hosting", "hostA"), newDocument3);
printAllDocuments(collection);
removeAllDocuments(collection);
System.out.println("Testing 4...");
insertDummyDocuments(collection);
BasicDBObject updateQuery = new BasicDBObject().append("$set",
new BasicDBObject().append("clients", "888"));
collection.update(
new BasicDBObject().append("type", "vps"), updateQuery, false, true);
printAllDocuments(collection);
removeAllDocuments(collection);
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
查詢Document
下面學習如何查詢document,先用下面的程式碼往資料庫中插入1-10數字:
for(int i=1; i <=10; i++){collection.insert(new BasicDBObject().append("number", i));
}
接下來,看下如下的例子:
1) 獲得資料庫中的第一個document:
DBObject doc = collection.findOne();System.out.println(dbObject);
輸出為:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}2)獲得document的集合
DBCursor cursor = collection.find();while(cursor.hasNext()){
System.out.println(cursor.next());
}
這裡,使用collection.find()方法,獲得當前資料庫中所有的documents物件集合
然後通過對DBCursor物件集合的遍歷,即可輸出當前所有documents。輸出如下:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}//..........中間部分省略,為2到9的輸出 {"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
3) 獲取指定的document
比如要獲得number=5的document物件內容,可以使用collection的find方法即可,如下:
BasicDBObject query =new BasicDBObject();query.put("number", 5);
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
即輸出:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c1"} , "number" : 5}4) 使用in操作符號
在mongodb中,也可以使用in操作符,比如要獲得number=9和number=10的document物件,可以如下操作:
BasicDBObject query =new BasicDBObject();List list =new ArrayList();
list.add(9);
list.add(10);
query.put("number", new BasicDBObject("$in", list));
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
這裡使用了一個List,並將list傳入到BasicDBObject的建構函式中,並使用了in操作符號,輸出如下:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c5"} , "number" : 9}{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
5) 使用>,<等比較符號
在mongodb中,也可以使用比如>,<等數量比較符號,比如要輸出number>5的document集合,則使用“$gt”即可,同理,小於關係則使用$lt,例子如下:
BasicDBObject query =new BasicDBObject();query.put("number", new BasicDBObject("$gt", 5));
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
輸出如下:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c2"} , "number" : 6}{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c3"} , "number" : 7}
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c4"} , "number" : 8}
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c5"} , "number" : 9}
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
也可以多個比較符號一起使用,比如要輸出number>5和number<8的document,則如下:
BasicDBObject query =new BasicDBObject();
query.put("number", new BasicDBObject("$gt", 5).append("$lt", 8));
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
同樣,如果是不等於的關係的話,可以使用$ne操作符,如下:
BasicDBObject query5 =new BasicDBObject();query5.put("number", new BasicDBObject("$ne", 8));
DBCursor cursor6 = collection.find(query5);
while(cursor6.hasNext()){
System.out.println(cursor6.next());
}
以上輸出number=8之外的所有document。
刪除document
下面我們學習如何刪除document,依然以上面的已插入的1-10的documents集合為例說明:
1) 刪除第一個document
DBObject doc = collection.findOne();collection.remove(doc);
2) 刪除指定的document
比如刪除number=2的document,如下方法:
BasicDBObject document =new BasicDBObject();document.put("number", 2);
collection.remove(document);
要注意的是,如下的方法將只會刪除number=3的document。
BasicDBObject document =new BasicDBObject();document.put("number", 2);
document.put("number", 3);
collection.remove(document);
3) 使用in 操作符號指定刪除document
下面的例子將同時刪除number=4和number=5的document,使用的是in操作符
BasicDBObject query2 =new BasicDBObject();List list =new ArrayList();
list.add(4);
list.add(5);
query2.put("number", new BasicDBObject("$in", list));
collection.remove(query2);
4) 使用“$gt”刪除大於某個值的document
BasicDBObject query =new BasicDBObject();query.put("number", new BasicDBObject("$gt", 9));
collection.remove(query);
以上會刪除number=10的document。
5) 刪除所有的document
DBCursor cursor = collection.find();while(cursor.hasNext()){
collection.remove(cursor.next());
}
儲存圖片到Mongodb
下面將講解如何使用Java MongoDB GridFS API去儲存圖片等二進位制檔案到Monodb,關於Java MongoDB GridFS API的詳細論述,請參考http://www.mongodb.org/display/DOCS/GridFS+Specification
1)儲存圖片
程式碼段如下:
String newFileName ="mkyong-java-image";File imageFile =newFile("c:\\JavaWebHosting.png");
GridFS gfsPhoto =new GridFS(db, "photo");
GridFSInputFile gfsFile = gfsPhoto.createFile(imageFile);
gfsFile.setFilename(newFileName);
gfsFile.save();
這裡,將c盤下的JavaWebHosting.png儲存到mongodb中去,並命名為mkyong-java-image。
2) 讀取圖片資訊
程式碼段如下
String newFileName ="mkyong-java-image";GridFS gfsPhoto =new GridFS(db, "photo");
GridFSDBFile imageForOutput = gfsPhoto.findOne(newFileName);
System.out.println(imageForOutput);
將會輸出JSON格式的結果;
{"_id" :
{
"$oid" : "4dc9511a14a7d017fee35746"
} ,
"chunkSize" : 262144 ,
"length" : 22672 ,
"md5" : "1462a6cfa27669af1d8d21c2d7dd1f8b" ,
"filename" : "mkyong-java-image" ,
"contentType" : null ,
"uploadDate" :
{
"$date" : "2011-05-10T14:52:10Z"
} ,
"aliases" : null
}
可以看到,輸出的是檔案的屬性相關資訊。
3) 輸出已儲存的所有圖片
下面程式碼段,輸出所有儲存在photo名稱空間下的圖片資訊:
GridFS gfsPhoto =new GridFS(db, "photo");DBCursor cursor = gfsPhoto.getFileList();
while(cursor.hasNext()){
System.out.println(cursor.next());
}
4) 從資料庫中讀取一張圖片並另存
下面的程式碼段,從資料庫中讀取一張圖片並另存為另外一張圖片到磁碟中
String newFileName ="mkyong-java-image";GridFS gfsPhoto =new GridFS(db, "photo");
GridFSDBFile imageForOutput = gfsPhoto.findOne(newFileName);
imageForOutput.writeTo("c:\\JavaWebHostingNew.png");
5) 刪除圖片
String newFileName ="mkyong-java-image";GridFS gfsPhoto =new GridFS(db, "photo");
gfsPhoto.remove(gfsPhoto.findOne(newFileName));
如何將JSON資料格式轉化為DBObject格式
在mongodb中,可以使用com.mongodb.util.JSON類,將JSON格式的字串轉變為DBObject物件。MongoDB for JAVA驅動中提供了用於向資料庫中儲存普通物件的介面DBObject,當一個文件從MongoDB中取出時,它會自動把文件轉換成DBObject介面型別,要將它例項化為需要的物件。比如:
{'name' : 'mkyong',
'age' : 30
}
這樣的JSON格式字串,轉換方法為:
DBObject dbObject =(DBObject) JSON.parse("{'name':'mkyong', 'age':30}");完整的程式碼如下:
packagecom.mkyong.core;importjava.net.UnknownHostException;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.DBObject;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
importcom.mongodb.util.JSON;
/**
* Java MongoDB : Convert JSON data to DBObject
*
*/
publicclass App {
publicstaticvoid main(String[] args){
try{
Mongo mongo =new Mongo("localhost", 27017);
DB db = mongo.getDB("yourdb");
DBCollection collection = db.getCollection("dummyColl");
DBObject dbObject =(DBObject) JSON
.parse("{'name':'mkyong', 'age':30}");
collection.insert(dbObject);
DBCursor cursorDoc = collection.find();
while(cursorDoc.hasNext()){
System.out.println(cursorDoc.next());
}
System.out.println("Done");
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}
則輸出為:
相關推薦
Java 中對Mongodb 的基本操作
HelloWorld程式 學習任何程式的第一步,都是編寫HelloWorld程式,我們也不例外,看下如何通過Java編寫一個HelloWorld的程式。 首先,要通過Java操作Mongodb,必須先下載Mongodb的Java驅動程式,可以在這裡下載。
Java中對大數的操作
1.整型大數類(BigInteger): //構造:BigInteger(String val) 將 BigInteger的十進位制字串表示形式轉換為 BigInteger //物件.toString(int radix) 返回此 BigInteger 的給定基數的字串表
java中陣列的基本操作
1. 宣告一個數組 1 String[] arr1 = new String[5]; 2 String[] arr2 = {"a","b","c", "d", "e"}; 3 String[] arr3= new String[]{"a","b","c","d","e"}; 2. 輸出一個數
用java實現對MongoDB的基本操作(增刪改查)
準備工作:要想用java實現對MongoDB的增刪改查,首先需要下載mongo的java驅動,mongo-java-driver-3.2.2, 下載地址:https://oss.sonatype.org/content/repositories/releases/org/m
java語言中對檔案基本的讀寫操作
public static void main(String[] args) { File cfile = new File("newnewtest.txt"); if(cfile.exists()){ try { FileInputStream fis = new FileInput
MongoDB系列-- SpringBoot 中對 MongoDB 的 基本操作
SpringBoot 中對 MongoDB 的 基本操作 Database 庫的建立 首先 在MongoDB 操作客戶端 Robo
MongoDB-Java的兩個基本操作Upsert和insertMany
slist 出現 兩個 我想 option ceo logs 方法 lis 此文只是為了記錄幾個基本操作,首先Upsert,有多種方法可以進行,但是都需要指定UpdateOptions.upsert(true),其中最簡單的辦法如下(eqq是一個用來filter的BSO
Java中對String字符串的常用操作
with 3.4 () val pareto exc case byte ring 這周遇到了一個需要處理String字符串的問題,用到了split將字符串解析為一個String的數組,還用到了某些替換字符的操作。 1 /* 2 **將String source按‘,
Java中對List集合的常用操作
stat sub 增強for循環 增強for 類型轉換 per sem 數值 tor 目錄: list中添加,獲取,刪除元素; list中是否包含某個元素; list中根據索引將元素數值改變(替換); list中查看(判斷)元素的索引; 根據元素索引位置進行的判斷; 利
Java中對Arrays陣列工具類的常用操作
Arrays類是JDK提供的專門用於運算元組的工具類,位於java.util包中。 用Arrays類的方法運算元組,無需自己編碼。 Arrays類的常用方法: 1、boolean equals(array1,array2):比較兩個陣列是否相等。 /** * 陣
Java 實現對mongodb and or 和and or聯合查詢操作
AND:publicvoid testAnd(){ //agender='female' AND age > 27 DBObject queryCondition = new BasicDBObject(); que
Java MongoDB 基本操作
本文介紹如何使用Java操作MongoDB,如建立連線資料庫、集合和文件,儲存、更新、刪除和查詢文件。 1. 引入依賴 <dependency> <groupId>org.mongodb</groupId>
Java MongoDB基本操作(查詢、刪除、更新等)
正在持續更新... MongoDB中的資料 { "_id": ObjectId("57c43caed4c63d7e39b5dc48"), "name": "張三", "age": 15, "arr": [1,2,3], "arrOb
Java mongoDB 基本操作入門
啟動資料庫: ./bin/mongod --dbpath=data mongo shell訪問資料庫 bin/mongo http檢視資料庫: http://192.168.1.132:27017/ 基本操作: 插入: db.person.insert({"name":"jack","age":
【MongoDB】-Java實現對mongodb的And、Or、In操作
1)And(同時滿足多個條件時用And) public void testAnd(){ DBObject queryCondition = new BasicDBObject();
Java實現對MongoDB的AND、OR和IN操作
在MongoDB的官方文件中關於Java操作的介紹,只給出了很簡單的幾個例子。這些例子雖然可以滿足一定的需求,但是還並不是太完全。下面是我根據網頁中的提示寫的幾個例子。 1
Java 實現對mongodb and or 和and or聯合查詢操作
轉載: AND: public void testAnd(){ //agender='female' AND age > 27 DBObject q
Java中對日期常見的操作實現
/* * 現在日期和查詢日期先後比較 * month 輸入以現在為基準,往前推的n個月 * */ public static boolean DateCompa(Integer month, Date orgQueryDate)
java中對SVN的相關操作
String conflictType = "";String conflictFile = "";SVNRepository repository;SVNClientManager clientManager;private Logger logger = LoggerF
MongoDB學習筆記(二) JAVA對MongoDB的操作
開發環境: System:Windows IDE:eclipse、MyEclipse 8 Database:mongoDB 開發依賴庫: JavaEE5、mongo-2.5.3.jar、junit-4.8.2.jar Email:[email p