java訪問mongodb
『壹』 用java連接mongodb3報錯,不知道問題在哪
在對超過百萬條記錄的集合進行聚合操作。 DBObject match=(DBObject)JSON.parse("{$match:{logType:{'$in':[5,9]}}}"); DBObject group=(DBObject)JSON.parse("{$group:{'_id':'$domainUrl','count':{'$sum':1}}}"); AggregationOutput output = logCollection.aggregate(match,group); 偶爾會發生Read timed out 異常。 com.mongodb.MongoException$Network: Read operation to server /192.168.10.202:27017 failed on database adLogTable at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:253) at com.mongodb.DB.command(DB.java:261) at com.mongodb.DB.command(DB.java:243) ... Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:152) 通過多次測試,發現執行一次聚合平均時間為5s,超過5s時就會報錯! 然後查看MongoDB的配置信息: socket-timeout="5000" //5s socket-timeout的默認配置為0,也就是沒有限制。 沒有超時限制,系統出了問題也不容易發現,應該根據實際情況,給出合理的超時時間。 通過多次測試發現最長執行時間為6秒,就把超時時間設置成了10000。 socket-timeout="10000" //10s 注意:MongoDB在與Spring整合時,如果要配置多個MongDB源,只會啟用最後一個<mongo:options>配置。 應該把參數配置信息存儲在properties文件中。 <mongo:mongo host="${mongodb.ip}" id="mongo202" port="${mongodb.port}"> <mongo:options connections-per-host="200" threads-allowed-to-block-for-connection-multiplier="100" connect-timeout="1000" max-wait-time="1000" auto-connect-retry="true" socket-keep-alive="true" socket-timeout="10000" slave-ok="true" write-number="1" write-timeout="0" write-fsync="true" /> </mongo:mongo> 通過Java API獲取配置參數 DBCollection logCollection = mongoTemplate.getCollection(collName); MongoOptions mongoOptions = logCollection.getDB().getMongo().getMongoOptions(); System.out.println(mongoOptions.getSocketTimeout()); 最後一點: ConnectionTimeOut和SocketTimeOut的區別: 一次完整的請求包括三個階段: 建立連接 數據傳輸 斷開連接 如果與伺服器(這里指資料庫)請求建立連接的時間超過ConnectionTimeOut,就會拋 ConnectionTimeOutException,即伺服器連接超時,沒有在規定的時間內建立連接。 如果與伺服器連接成功,就開始數據傳輸了。 如果伺服器處理數據用時過長,超過了SocketTimeOut,就會拋出SocketTimeOutExceptin,即伺服器響應超時,伺服器沒有在規定的時間內返回給客戶端數據
『貳』 淺談如何用Java操作MongoDB
本文主要講述如何使用Java操作MongoDB以及了解MongoDB如何進行日常的資料庫操作。 文章內容如下: 第一步:安 NoSQL資料庫因其可擴展性使其變得越來越流行,利用NoSQL資料庫可以給你帶來更多的好處,MongoDB是一個用C++編寫的可度可擴展性的開源NoSQL資料庫。本文主要講述如何使用Java操作MongoDB以及了解MongoDB如何進行日常的資料庫操作。 文章內容如下: 第一步:安裝MongoDB 無需太多的繁雜步驟,你只要在MongoDB官方網站查看安裝說明,根據自己的操作系統進行選擇適應的版本即可。 第二步:啟動MongoDB伺服器 這一步也很簡單。運行mongod.exe文件里的bin文件夾(我使用的是Windows OS系統),並啟動MongoDB伺服器。 在默認的情況下伺服器將啟動埠27017,你需要在安裝過程中創建將數據存儲在/data/db目錄里。 第三步:啟動MongoDB shell指令 你可以通過運行mongo.exe文件來啟動MongoBD shell。 第四步:利用MongoDB創建資料庫 利用MongoDB在MongoDB shell中輸入以下內容建立一個名為「company」的資料庫。 雙擊代碼全選 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><p>use company </p></li></ol> 記住,除非你在MangoDB里保存了一些東西,否則它不會自動為你保存。 使用下面的命令幫你查看可用的資料庫,它會顯示「company」尚未被創建。 雙擊代碼全選 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><p>show dbs; </p></li></ol> 第五步:在MongoDB中保存數據 使用下面的命令來保存employee 數據代表一個collection,將其命名為employees。 雙擊代碼全選 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><p>employee = {name : "A", no : 1} </p></li><li><p>db.employees.save(employee) </p></li></ol> 通過使用下面的命令來查看collection里的數據。 雙擊代碼全選 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><p>db.users.find(); </p></li></ol> 如何使用Java操作MongoDB? 下面是是一段簡單的Java代碼,你可以在這里獲得mongo-java驅動。很簡單,只需要使用下面的代碼,重復上面的操作即可。 雙擊代碼全選 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49packagecom.eviac.blog.mongo; importjava.net.UnknownHostException; importcom.mongodb.BasicDBObject; importcom.mongodb.DB; importcom.mongodb.DBCollection; importcom.mongodb.DBCursor; importcom.mongodb.Mongo; importcom.mongodb.MongoException; publicclassMongoDBClient { publicstaticvoidmain(String[] args) { try{ Mongo mongo = newMongo("localhost", 27017); DB db = mongo.getDB("company"); DBCollection collection = db.getCollection("employees"); BasicDBObject employee = newBasicDBObject(); employee.put("name", "Hannah"); employee.put("no", 2); collection.insert(employee); BasicDBObject searchEmployee = newBasicDBObject(); searchEmployee.put("no", 2); DBCursor cursor = collection.find(searchEmployee); while(cursor.hasNext()) { System.out.println(cursor.next()); } System.out.println("The Search Query has Executed!"); } catch(UnknownHostException e) { e.printStackTrace(); } catch(MongoException e) { e.printStackTrace(); } } } 結果如下:
『叄』 如何用Java操作MongoDB
HelloWorld程序
學習任何程序的第一步,都是編寫HelloWorld程序,我們也不例外,看下如何通過Java編寫一個HelloWorld的程序。
首先,要通過Java操作Mongodb,必須先下載Mongodb的Java驅動程序,可以在這里下載。
新建立一個Java工程,將下載的驅動程序放在庫文件路徑下,程序代碼如下:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importcom.mongodb.BasicDBObject;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java+MongoDBHelloworldExample
*
*/
publicclassApp{
publicstaticvoidmain(String[]args){
try{
//實例化Mongo對象,連接27017埠
Mongomongo=newMongo("localhost",27017);
//連接名為yourdb的資料庫,假如資料庫不存在的話,mongodb會自動建立
DBdb=mongo.getDB("yourdb");
//GetcollectionfromMongoDB,databasenamed"yourDB"
//從Mongodb中獲得名為yourColleection的數據集合,如果該數據集合不存在,Mongodb會為其新建立
DBCollectioncollection=db.getCollection("yourCollection");
//使用BasicDBObject對象創建一個mongodb的document,並給予賦值。
BasicDBObjectdocument=newBasicDBObject();
document.put("id",1001);
document.put("msg","helloworldmongoDBinJava");
//將新建立的document保存到collection中去
collection.insert(document);
//創建要查詢的document
BasicDBObjectsearchQuery=newBasicDBObject();
searchQuery.put("id",1001);
//使用collection的find方法查找document
DBCursorcursor=collection.find(searchQuery);
//循環輸出結果
while(cursor.hasNext()){
System.out.println(cursor.next());
}
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}
最後,輸出的結果為:
{"_id":{"$oid":"4dbe5596dceace565d229dc3"},
"id":1001,"msg":"helloworldmongoDBinJava"}
Done
在上面的例子中,演示了使用Java對Mongodb操作的重要方法和步驟,首先通過創建Mongodb對象,傳入構造函數的參數是Mongodb的資料庫所在地址和埠,然後使用
getDB方法獲得要連接的資料庫名,使用getCollection獲得數據集合的名,然後通過新建立BasicDBObject對象去建立document,最後通過collection的insert方法,將建立的document保存到資料庫中去。而collection的find方法,則是用來在資料庫中查找document。
從Mongodb中獲得collection數據集
在Mongodb中,可以通過如下方法獲得資料庫中的collection:
DBCollectioncollection=db.getCollection("yourCollection");
如果你不知道collection的名稱,可以使用db.getCollectionNames()獲得集合,然後再遍歷,如下:
DBdb=mongo.getDB("yourdb");
Setcollections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
完成的一個例子如下:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.Set;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java:GetcollectionfromMongoDB
*
*/
publicclassGetCollectionApp{
publicstaticvoidmain(String[]args){
try{
Mongomongo=newMongo("localhost",27017);
DBdb=mongo.getDB("yourdb");
Set<String>collections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
DBCollectioncollection=db.getCollection("yourCollection");
System.out.println(collection.toString());
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}
Mongodb中如何插入數據
下面,講解下如何使用4種方式,將JSON數據插入到Mongodb中去。首先我們准備JSON
格式的數據,如下:
{
"database":"mkyongDB",
"table":"hosting",
"detail":
{
records:99,
index:"vps_index1",
active:"true"
}
}
}
我們希望用不同的方式,通過JAVA代碼向Mongodb插入以上格式的JSON數據
第一種方法,是使用BasicDBObject,方法如下代碼所示:
BasicDBObjectdocument=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObjectdocumentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail",documentDetail);
collection.insert(document);
第二種方法是使用BasicDBObjectBuilder對象,如下代碼所示:
=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
Detail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail",documentBuilderDetail.get());
collection.insert(documentBuilder.get());
第三種方法是使用Map對象,代碼如下:
MapdocumentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
MapdocumentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail",documentMapDetail);
collection.insert(newBasicDBObject(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=newMongo("localhost",27017);
DB db=mongo.getDB("yourdb");
//get a single collection
DBCollection collection=db.getCollection("mmyColl");
//BasicDBObject example
System.out.println("BasicDBObject example...");
BasicDBObject document=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObject documentDetail=newBasicDBObject();
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(newBasicDBObject());
//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(newBasicDBObject());
//Map example
System.out.println("Map example...");
Map documentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
Map documentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail", documentMapDetail);
collection.insert(newBasicDBObject(documentMap));
DBCursor cursorDocMap=collection.find();
while(cursorDocMap.hasNext()){
System.out.println(cursorDocMap.next());
}
collection.remove(newBasicDBObject());
//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(newBasicDBObject());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}
『肆』 java怎麼連接mangodb需要哪些步驟
開發環境:
System:Win7
IDE:eclipse
Database:mongoDB
開發依賴庫:
JavaEE5、mongo-2.5.3.jar、junit.jar、org.hamcrest.core_1.1.0.v20090501071000.jar
一、准備工作
1、下載Mongodb對java支持jar包
jar包下載地址:
mongoDB對Java的相關支持、技術:http://www.mongodb.org/display/DOCS/Java+Language+Center
驅動源碼下載:https://download.github.com/mongodb-mongo-java-driver-r2.6.1-7-g6037357.zip
在線查看源碼:https://github.com/mongodb/mongo-java-driver
2、下面建立一個JavaProject工程,導入下載下來的驅動包。即可在Java中使用mongoDB,目錄如下:
二、Java操作MongoDB示例
在本示例之前你需要啟動mongod.exe的服務,啟動後,下面的程序才能順利執行;
1、建立simpleTest.java,完成簡單的mongoDB資料庫操作
Mongomongo=newMongo();
這樣就創建了一個MongoDB的資料庫連接對象,它默認連接到當前機器的localhost地址,埠是27017。
DBdb=mongo.getDB(「test」);
這樣就獲得了一個test的資料庫,如果mongoDB中沒有創建這個資料庫也是可以正常運行的。mongoDB可以在沒有創建這個資料庫的情況下,完成數據的添加操作。當添加的時候,沒有這個庫,mongoDB會自動創建當前資料庫。
得到了db,下一步我們要獲取一個「聚集集合DBCollection」,通過db對象的getCollection方法來完成。
DBCollectionusers=db.getCollection("users");
這樣就獲得了一個DBCollection,它相當於我們資料庫的「表」。
查詢所有數據:
DBCursorcur=users.find();
while(cur.hasNext()){
System.out.println(cur.next());
}
完整源碼:
packagecom.mongodb;
importjava.net.UnknownHostException;
importcom.mongodb.util.JSON;
publicclasssimpleTest{
publicstaticvoidmain(String[]args)throwsUnknownHostException,MongoException{
Mongomg=newMongo();
//查詢所有的Database
for(Stringname:mg.getDatabaseNames()){
System.out.println("dbName:"+name);
}
DBdb=mg.getDB("test");
//查詢所有的聚集集合
for(Stringname:db.getCollectionNames()){
System.out.println("collectionName:"+name);
}
DBCollectionusers=db.getCollection("users");
//查詢所有的數據
DBCursorcur=users.find();
while(cur.hasNext()){
System.out.println("while="+cur.next());
}
System.out.println("count="+cur.count());
System.out.println("CursorId="+cur.getCursorId());
System.out.println("cur="+JSON.serialize(cur));
}
}
2、完成CRUD操作,首先建立一個curdTset.java,基本測試代碼如下:
packagecom.mongodb;
importjava.net.UnknownHostException;
importjava.util.ArrayList;
importjava.util.List;
importorg.bson.types.ObjectId;
importorg.junit.After;
importorg.junit.Before;
importorg.junit.Test;
importcom.mongodb.util.JSON;
publicclasscurdTset{
privateMongomg=null;
privateDBdb;
privateDBCollectionusers;//連接的mongodb資料庫
@Before
publicvoidinit(){
System.out.println("TestBefore...");
try{
mg=newMongo();
//mg=newMongo("localhost",27017);
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
//獲取testDB;如果默認沒有創建,mongodb會自動創建
db=mg.getDB("test");
//獲取usersDBCollection;如果默認沒有創建,mongodb會自動創建
users=db.getCollection("users");
}
@After
publicvoiddestory(){
System.out.println("TestAfter...");
if(mg!=null){
mg.close();
}
mg=null;
db=null;
users=null;
System.gc();
}
publicvoidprint(Objecto){
System.out.println(o);
}
privatevoidqueryAll(){
print("查詢users的所有數據:");
//db游標
DBCursorcur=users.find();
inti=1;
while(cur.hasNext()){
print("記錄"+i+":"+cur.next());
i++;
}
}
@Test
publicvoidadd(){
//先查詢所有數據
queryAll();
System.out.println("===============================ADDstart=======================================");
print("ADDcount:"+users.count());
DBObjectuser=newBasicDBObject();
user.put("name","hoojo");
user.put("age",24);
user.put("sex","男");
print(users.save(user).getN());
//添加多條數據,傳遞Array對象
print(users.insert(user,newBasicDBObject("name","tom")).getN());
//添加List集合
Listlist=newArrayList();
list.add(user);
DBObjectuser2=newBasicDBObject("name","lucy");
user.put("age",22);
list.add(user2);
//添加List集合
print(users.insert(list).getN());
//查詢下數據,看看是否添加成功
print("count="+users.count());
System.out.println("===============================ADDend=======================================");
//查詢所有數據
queryAll();
}
@Test
publicvoidremove(){
queryAll();
print("刪除id=4dde2b06feb038463ff09042:"+users.remove(newBasicDBObject("_id",newObjectId("4dde2b06feb038463ff09042"))).getN());
print("removeage>=24:"+users.remove(newBasicDBObject("age",newBasicDBObject("$gte",24))).getN());
System.out.println("===============================REMOVEend=======================================");
//查詢所有數據
queryAll();
}
@Test
publicvoidmodify(){
print("修改:"+users.update(newBasicDBObject("_id",newObjectId("4dde25d06be7c53ffbd70906")),newBasicDBObject("age",99)).getN());
print("修改:"+users.update(
newBasicDBObject("_id",newObjectId("4dde2b06feb038463ff09042")),
newBasicDBObject("age",121),
true,//如果資料庫不存在,是否添加
false//多條修改
).getN());
print("修改:"+users.update(
newBasicDBObject("name","haha"),
newBasicDBObject("name","dingding"),
true,//如果資料庫不存在,是否添加
false//false只修改第一條,true如果有多條就不修改
).getN());
//當資料庫不存在就不修改、不添加數據,當多條數據就不修改
//print("修改多條:"+coll.updateMulti(newBasicDBObject("_id",newObjectId("4dde23616be7c19df07db42c")),newBasicDBObject("name","199")));
System.out.println("===============================EDITend=======================================");
//查詢所有數據
queryAll();
}
@Test
publicvoidtestOthers(){
//查詢所有數據
queryAll();
DBObjectuser=newBasicDBObject();
user.put("name","hoojo");
user.put("age",24);
//JSON對象轉換
print("serialize:"+JSON.serialize(user));
//反序列化
print("parse:"+JSON.parse("{"name":"hoojo","age":24}"));
print("判斷tempCollection是否存在:"+db.collectionExists("users"));
//如果不存在就創建
if(!db.collectionExists("users")){
DBObjectoptions=newBasicDBObject();
options.put("size",20);
options.put("capped",20);
options.put("max",20);
print(db.createCollection("account",options));
}
//設置db為只讀
db.setReadOnly(true);
//只讀不能寫入數據
db.getCollection("test").save(user);
}
}
『伍』 如何在java中使用mongodb
首先你需要安裝mongodb的JDBC驅動,比如mongo-java-driver-3.2.2.jar。然後把這個jar包引用到你的程序中。
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
public class MongoDBJDBC{
public static void main( String args[] ){
try{
// 連接到 mongodb 服務
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// 連接到資料庫
MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");
System.out.println("Connect to database successfully");
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}
『陸』 如何用JAVA訪問遠程伺服器端的mongodb
文檔很長:
Configuration File
File Format
Use the Configuration File
Core Options
systemLog Options
processManagement Options
net Options
security Options
setParameter Option
storage Options
operationProfiling Options
replication Options
sharding Options
auditLog Options
snmp Options
Text Search Options
mongos-only Options
Windows Service Options
我把與遠程連接及log文件有關的標紅了, 如果只是修改遠程連接, 這幾個重點看下就可以.
『柒』 java怎麼做到使用mongodb的原生命令來執行操作
public class MongoDBJDBC {
public static void main(String[] args) {
try {
// 實例化Mongo對象,連接27017埠
Mongo mongo = new Mongo("localhost", 27017);
// 連接名為yourdb的資料庫,假如資料庫不存在的話,mongodb會自動建立
DB db = mongo.getDB("test");
// Get collection from MongoDB, database named "yourDB"
// 從Mongodb中獲得名為yourColleection的數據集合,如果該數據集合不存在,Mongodb會為其新建立
DBCollection collection = db.getCollection("test1");
// 使用BasicDBObject對象創建一個mongodb的document,並給予賦值。
BasicDBObject document = new BasicDBObject();
//document.put("id", 1001);
//document.put("msg", "hello world mongoDB in Java");
// 將新建立的document保存到collection中去
//collection.insert(document);
// 創建要查詢的document
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("name", "chen");
// 使用collection的find方法查找document
DBCursor cursor = collection.find(searchQuery);
// 循環輸出結果
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
System.out.println("Hello World");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
『捌』 java怎麼連接linux下面的mongodb資料庫
想在shell中連接資料庫,首先要在連接數據的機器上安裝mongodb的客戶端才可以。客戶端的安裝在這里不再重復,自己網路或者google一下吧。連接mongodb的命令如下:/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888
這個是我的資料庫配置,沒有設置用戶名密碼。所以直接通過該命令就可以連接。
『玖』 有沒有大神 java連接mongodb遇到了問題
新版本的mongodb的驅動包是依賴bson.jar和mongodb_driver_core.jar的 官網上有提示:
Note: mongodb-driver requires the following dependencies: bson and mongodb-driver-core
去看一下 ,然後對應的地方有兩個包的下載,導進你的方法就ok了
下載地址:
MongoDB-driver-3.0.1.jar
mongodb-driver-core-3.0.1.jar
bson-3.0.1.jar
https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.0.1/
https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver-core/3.0.1/
https://oss.sonatype.org/content/repositories/releases/org/mongodb/bson/3.0.1/