日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Java操作MongoDB(詳細(xì))
MongoDB 不僅可以在命令行窗口(CMD)中運(yùn)行,它還可以與編程語(yǔ)言配合使用,本節(jié)我們就來(lái)介紹一下在 Java 中如何使用 MongoDB。

創(chuàng)新互聯(lián)秉承實(shí)現(xiàn)全網(wǎng)價(jià)值營(yíng)銷的理念,以專業(yè)定制企業(yè)官網(wǎng),做網(wǎng)站、網(wǎng)站設(shè)計(jì),微信小程序定制開發(fā),網(wǎng)頁(yè)設(shè)計(jì)制作,成都做手機(jī)網(wǎng)站網(wǎng)絡(luò)營(yíng)銷推廣幫助傳統(tǒng)企業(yè)實(shí)現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級(jí)專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對(duì)客戶都以感恩的心態(tài)奉獻(xiàn)自己的專業(yè)和所長(zhǎng)。

環(huán)境配置

想要在 Java 程序中使用 MongoDB,需要確保您的電腦上已經(jīng)安裝了 MongoDB,并搭建好了 Java 的環(huán)境。您可以查看《Java 教程》來(lái)了解不同系統(tǒng)下 Java 的安裝教程。

另外您還需要確認(rèn)安裝了 MongoDB JDBC 驅(qū)動(dòng),您可以通過 http://mongodb.github.io/mongo-java-driver/ 來(lái)下載最新版的 mongodb-driver-3.11.2.jar 以及其依賴項(xiàng) mongodb-driver-core-3.11.2.jar,并將它們包含進(jìn) classpath 中。

連接數(shù)據(jù)庫(kù)

要連接數(shù)據(jù)庫(kù),首先需要指定要連接的數(shù)據(jù)庫(kù)名稱,如果數(shù)據(jù)庫(kù)不存在的話,MongoDB 則會(huì)自動(dòng)創(chuàng)建它。下面通過簡(jiǎn)單的代碼來(lái)演示如何使用 Java 代碼連接 MongoDB 數(shù)據(jù)庫(kù):

import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential; 
public class ConnectToDB {
    public static void main( String args[] ) { 
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );

        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("Connected to the database successfully"); 

        // 訪問數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb");
        System.out.println("Credentials ::"+ credential);    
    }
}

編譯并運(yùn)行上面的程序,即可創(chuàng)建名為“myDb”的數(shù)據(jù)庫(kù),并輸出如下所示的內(nèi)容:

$javac ConnectToDB.java
$java ConnectToDB
Connected to the database successfully
Credentials ::MongoCredential{
    mechanism = null,
    userName = 'sampleUser',
    source = 'myDb',
    password = ,
    mechanismProperties = {}
}

創(chuàng)建集合

若要?jiǎng)?chuàng)建集合,您可以使用 com.mongodb.client.MongoDatabase 類的 createCollection() 方法,示例代碼如下:

import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential; 
public class CreatingCollection {
    public static void main( String args[] ) { 
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );

        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("數(shù)據(jù)庫(kù)連接成功"); 

        // 訪問數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb"); 

        // 創(chuàng)建集合
        database.createCollection("tutorial");
        System.out.println("集合創(chuàng)建成功");
    }
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

數(shù)據(jù)庫(kù)連接成功
集合創(chuàng)建成功

獲取/選擇集合

要獲取/選擇數(shù)據(jù)庫(kù)中的集合,您可以使用 com.mongodb.client.MongoDatabase 類的 getCollection() 方法,示例代碼如下:

import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential; 
public class selectingCollection {
    public static void main( String args[] ) { 
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );

        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("數(shù)據(jù)庫(kù)連接成功"); 

        // 訪問數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb"); 

        // 創(chuàng)建集合
        database.createCollection("tutorial");
        System.out.println("集合創(chuàng)建成功");
        // 檢索集合
        MongoCollection collection = database.getCollection("tutorial");
        System.out.println("集合選擇成功 tutorial");
    }
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

數(shù)據(jù)庫(kù)連接成功
集合創(chuàng)建成功
集合選擇成功 tutorial

插入文檔

想要向集合中插入文檔,您可以使用 com.mongodb.client.MongoCollection 類的 insert() 方法,示例代碼如下:

import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.MongoClient;
public class InsertingDocument {
    public static void main( String args[] ) {
    // 創(chuàng)建 MongoDB 連接
    MongoClient mongo = new MongoClient( "localhost" , 27017 );
    // 連接到數(shù)據(jù)庫(kù)
    MongoDatabase database = mongo.getDatabase("myDb");
    // 創(chuàng)建集合
    database.createCollection("tutorial");
    System.out.println("集合創(chuàng)建成功");
    // 檢索集合
    MongoCollection collection = database.getCollection("tutorial");
    System.out.println("集合選擇成功");
    Document document = new Document("title", "MongoDB")
    .append("description", "database")
    .append("likes", 100)
    .append("url", "http://www.biancheng.net/mongodb/")
    .append("by", "編程幫");
   
    // 將文檔插入到集合中
    collection.insertOne(document);
    System.out.println("文檔插入成功");
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

集合創(chuàng)建成功
集合選擇成功
文檔插入成功

查詢文檔

想要查詢集合中的文檔,您可以使用 com.mongodb.client.MongoCollection 類的 find() 方法,此方法會(huì)返回一個(gè)游標(biāo),因此想要查詢集合中的所有文檔您只需要不斷迭代此游標(biāo)即可,示例代碼如下:

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
public class RetrievingAllDocuments {
    public static void main( String args[] ) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );
       
        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("數(shù)據(jù)庫(kù)連接成功");
       
        // 連接到數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb");
       
        // 檢索集合
        MongoCollection collection = database.getCollection("tutorial");
        System.out.println("成功選擇了集合 tutorial");
        Document document1 = new Document("title", "MongoDB")
        .append("description", "database")
        .append("likes", 100)
        .append("url", "http://www.biancheng.net/mongodb/")
        .append("by", "編程幫");
        Document document2 = new Document("title", "html")
        .append("description", "database")
        .append("likes", 200)
        .append("url", "http://www.biancheng.net/html/")
        .append("by", "編程幫");
        List list = new ArrayList();
        list.add(document1);
        list.add(document2);
        collection.insertMany(list);
        // 獲取 iterable 對(duì)象
        FindIterable iterDoc = collection.find();
        int i = 1;
        // 獲取迭代器
        Iterator it = iterDoc.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
            i++;
        }
    }
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

數(shù)據(jù)庫(kù)連接成功
成功選擇了集合 tutorial
Document{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://www.biancheng.net/mongodb/, by=編程幫}}
Document{{_id=5dce4e9ff68a9c2449e197b3, title=html, description=database, likes=200, url=http://www.biancheng.net/html/, by=編程幫}}

更新文檔

要更新(修改)集合中文檔的數(shù)據(jù),您可以使用 com.mongodb.client.MongoCollection 類的 updateOne() 方法,示例代碼如下:

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
import java.util.Iterator;
import org.bson.Document; 
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential; 
public class UpdatingDocuments {
    public static void main( String args[] ) { 
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );

        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("數(shù)據(jù)庫(kù)連接成功"); 

        // 連接到數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb");
        // 檢索集合
        MongoCollection collection = database.getCollection("tutorial");
        System.out.println("成功選擇了集合 tutorial");
        collection.updateOne(Filters.eq("title", 1), Updates.set("likes", 150));      
        System.out.println("文檔更新成功..."); 

        // 更新后檢索文檔
        // 獲取 iterable 對(duì)象
        FindIterable iterDoc = collection.find();
        int i = 1;
        // 獲取迭代器
        Iterator it = iterDoc.iterator();
        while (it.hasNext()) { 
            System.out.println(it.next()); 
            i++;
        }    
    } 
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

數(shù)據(jù)庫(kù)連接成功
成功選擇了集合 tutorial
文檔更新成功...
Document{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://www.biancheng.net/mongodb/, by=編程幫}}
Document{{_id=5dce4e9ff68a9c2449e197b3, title=html, description=database, likes=200, url=http://www.biancheng.net/html/, by=編程幫}}

刪除文檔

想要從集合中刪除文檔,您可以使用 com.mongodb.client.MongoCollection 類的 deleteOne() 方法,示例代碼如下:

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters; 
import java.util.Iterator;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential; 
public class DeletingDocuments {
    public static void main( String args[] ) { 
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );

        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("數(shù)據(jù)庫(kù)連接成功"); 

        // 訪問數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb");
        // 檢索集合
        MongoCollection collection = database.getCollection("tutorial");
        System.out.println("成功選擇了集合 tutorial");
        // 刪除文檔
        collection.deleteOne(Filters.eq("title", "MongoDB"));
        System.out.println("文檔刪除成功..."); 

        // 更新后檢索文檔
        // 獲取 iterable 對(duì)象
        FindIterable iterDoc = collection.find();
        int i = 1;
        // 獲取迭代器
        Iterator it = iterDoc.iterator();
        while (it.hasNext()) { 
            System.out.println(it.next()); 
            i++;
        }      
    }
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

數(shù)據(jù)庫(kù)連接成功
成功選擇了集合 tutorial
文檔刪除成功...
Document{{_id=5dce4e9ff68a9c2449e197b3, title=html, description=database, likes=200, url=http://www.biancheng.net/html/, by=編程幫}}

刪除集合

要從數(shù)據(jù)庫(kù)中刪除集合,您可以使用 com.mongodb.client.MongoCollection 類中的 drop() 方法,示例代碼如下:

import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase; 
import org.bson.Document; 
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential; 
public class DropingCollection {
    public static void main( String args[] ) { 
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );
        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("數(shù)據(jù)庫(kù)連接成功"); 

        // 訪問數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb"); 

        // 創(chuàng)建集合
        System.out.println("集合創(chuàng)建成功");
        // 檢索集合
        MongoCollection collection = database.getCollection("tutorial");
        // 刪除集合
        collection.drop();
        System.out.println("集合刪除成功");
    }
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

數(shù)據(jù)庫(kù)連接成功
集合創(chuàng)建成功
集合刪除成功

列出所有集合

要列出數(shù)據(jù)庫(kù)中的所有集合,您需要使用 com.mongodb.client.MongoDatabase 類的 listCollectionNames() 方法,示例代碼如下:

import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential; 
public class ListOfCollection {
    public static void main( String args[] ) { 
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient( "localhost" , 27017 );
        // 連接到 MongoDB
        MongoCredential credential;
        credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
        System.out.println("數(shù)據(jù)庫(kù)連接成功"); 

        // 訪問數(shù)據(jù)庫(kù)
        MongoDatabase database = mongo.getDatabase("myDb");
        System.out.println("集合創(chuàng)建成功");
        for (String name : database.listCollectionNames()) {
            System.out.println(name);
        }
    }
}

編譯并運(yùn)行上面的程序,運(yùn)行結(jié)果如下所示:

數(shù)據(jù)庫(kù)連接成功
集合創(chuàng)建成功
myCollection
myCollection1
myCollection5

更多關(guān)于 Java 中 MongoDB 的操作可以參考 http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/quick-tour/


新聞標(biāo)題:Java操作MongoDB(詳細(xì))
網(wǎng)站URL:http://www.5511xx.com/article/cdgpeji.html