MongoDB快速入門筆記(八)之MongoDB的java驅(qū)動操作代碼講解
MongoDB的Java驅(qū)動是線程安全的,對于一般的應(yīng)用,只要一個Mongo實例即可,Mongo有個內(nèi)置的連接池(池大小默認(rèn)為10個)。
下面代碼給大家介紹MongoDB的java驅(qū)動操作,具體代碼如下所示:
import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; public class MongoZyh { public static void main(String[] args) { try { // 連接到MongoDB服務(wù),ServerAddress()兩個參數(shù)分別為 服務(wù)器地址 和 端口 ServerAddress serverAddress = new ServerAddress("localhost", 27017); List<ServerAddress> addrs = new ArrayList<ServerAddress>(); addrs.add(serverAddress); // 三個參數(shù)分別為 用戶名 數(shù)據(jù)庫名稱 密碼 MongoCredential credential = MongoCredential .createScramSha1Credential("zyh", "admin", "zyh".toCharArray()); List<MongoCredential> credentials = new ArrayList<MongoCredential>(); credentials.add(credential); // 通過連接認(rèn)證獲取MongoDB連接 MongoClient mongoClient = new MongoClient(addrs, credentials); // 連接到數(shù)據(jù)庫 MongoDatabase mongoDatabase = mongoClient.getDatabase("zyhdb"); // 新建集合,執(zhí)行后會在數(shù)據(jù)庫里新建一個空的集合 // mongoDatabase.createCollection("student"); // System.out.println("新建集合成功"); // 獲取集合,并往集合中插入數(shù)據(jù) MongoCollection<Document> mongoCollection = mongoDatabase .getCollection("student"); // 插入一條數(shù)據(jù) // Document document = new Document(); // document.append("name", "zhangsan"); // document.append("age", 28); // mongoCollection.insertOne(document); // System.out.println("插入一條數(shù)據(jù)成功"); // 插入多條數(shù)據(jù) // List<Document> documentList = new ArrayList<Document>(); // Document document1 = new Document(); // document1.append("name", "lisi"); // document1.append("age", 28); // document1.append("sex", "男"); // Document document2 = new Document(); // document2.append("name", "wangwu"); // document2.append("age", 31); // document2.append("sex", "男"); // documentList.add(document1); // documentList.add(document2); // mongoCollection.insertMany(documentList); // System.out.println("插入多條數(shù)據(jù)成功"); // 查詢數(shù)據(jù) // 查詢集合中所有的數(shù)據(jù) // FindIterable<Document> findIterable = mongoCollection.find(); // MongoCursor<Document> mongoCursor = findIterable.iterator(); // while (mongoCursor.hasNext()) { // System.out.println(mongoCursor.next()); // } // 根據(jù)條件查詢 // Document query = new Document(); // query.put("age", new Document("$lt", 30)); // query.put("sex", "男"); // query.put("name", query); // 正則表達(dá)式查詢 // Pattern pattern = Pattern.compile("^zhang"); // query.put("name", pattern); // 排序 // Document sort = new Document(); // sort.put("name", -1); // 1是正序,-1是倒序 // FindIterable<Document> findIterable = mongoCollection.find(query) // .sort(sort); // MongoCursor<Document> mongoCursor = findIterable.iterator(); // while (mongoCursor.hasNext()) { // Document doc = mongoCursor.next(); // System.out.print("name:" + doc.get("name") + "..."); // System.out.print("age:" + doc.get("age") + "..."); // System.out.println("sex:" + doc.get("sex") + "..."); // } // mongoCollection.findOneAndUpdate(查詢條件, 修改內(nèi)容); // 查詢出第一條數(shù)據(jù)并修改 // mongoCollection.findOneAndDelete(查詢條件); // 查詢出第一條數(shù)據(jù)并刪除 // mongoCollection.findOneAndReplace(查詢條件, 替換內(nèi)容); // 查詢出第一條數(shù)據(jù)并替換 // 修改數(shù)據(jù) // Document query = new Document(); // query.put("age", 28); // Document update = new Document(); // Document d = new Document(); // d.put("birthday", new Date()); // d.put("name", "zhangsan"); // update.put("$set", d); // mongoCollection.updateOne(query, update); // 修改查詢到的第一條數(shù)據(jù) // mongoCollection.updateMany(查詢條件, 修改內(nèi)容);// 修改查詢到的所有數(shù)據(jù) // 刪除數(shù)據(jù) // Document query = new Document(); // query.put("age", 28); // mongoCollection.deleteOne(query); // 刪除查詢到的第一條數(shù)據(jù) // mongoCollection.deleteMany(查詢條件); // 刪除查詢到的所有數(shù)據(jù) // mongoCollection.drop(); // 刪除集合 } catch (Exception e) { e.printStackTrace(); } } }
關(guān)于小編給大家介紹的MongoDB快速入門筆記(八)之MongoDB的java驅(qū)動操作代碼講解就給大家介紹這么多,希望對大家有所幫助,還會給大家持續(xù)更新MongoDB相關(guān)知識,敬請關(guān)注腳本之家網(wǎng)站!
- MongoDB中javascript腳本編程簡介和入門實例
- MongoDB 快速入門
- MongoDB入門教程之Windows下的MongoDB數(shù)據(jù)庫安裝圖解
- MongoDB入門教程(包含安裝、常用命令、相關(guān)概念、使用技巧、常見操作等)
- MongoDB快速入門筆記(七)MongoDB的用戶管理操作
- MongoDB入門教程之C#驅(qū)動操作實例
- MongoDB入門教程之主從復(fù)制配置詳解
- MongoDB入門教程之細(xì)說MongoDB數(shù)據(jù)庫的增刪查改操作
- 零基礎(chǔ)搭建Node.js、Express、Ejs、Mongodb服務(wù)器及應(yīng)用開發(fā)入門
- MongoDB 入門指南
相關(guān)文章
MariaDB中的thread pool詳細(xì)介紹和使用方法
這篇文章主要介紹了MariaDB中的thread pool詳細(xì)介紹和使用方法,thread pool對高并發(fā)的環(huán)境是很好的一個解決方法,需要的朋友可以參考下2014-07-07centos 7安裝mysql5.5和安裝 mariadb使用的命令
以前的Linux系統(tǒng)中數(shù)據(jù)庫大部分是mysql,不過自從被sun收購之后,就沒用集成在centos這些開源Linux系統(tǒng)中了,那么如果想用的話就需要自己安裝了,在安裝過程中肯定會用到些命令,下面通過本篇文章給大家介紹centos 7安裝mysql5.5和安裝 mariadb使用的命令2015-09-09Windows10系統(tǒng)下安裝MariaDB 的教程圖解
MariaDB由MySQL的創(chuàng)始人麥克爾·維德紐斯主導(dǎo)開發(fā),他早前曾以10億美元的價格,將自己創(chuàng)建的公司MySQL賣給了SUN,此后,隨著SUN被甲骨文收購,MySQL的所有權(quán)也落入Oracle的手中。這篇文章給大家介紹Windows10系統(tǒng)下安裝MariaDB 的教程圖解,感興趣的朋友一起看看吧2018-12-12CentOS6.7系統(tǒng)中編譯安裝MariaDB數(shù)據(jù)庫
本文主要是給大家詳細(xì)講述了如何在CentOS6.7系統(tǒng)中編譯安裝MariaDB數(shù)據(jù)庫,有需要的小伙伴可以參考下2016-11-11MariaDB中1045權(quán)限錯誤導(dǎo)致拒絕用戶訪問的錯誤解決方法
這篇文章主要介紹了MariaDB中1045權(quán)限錯誤導(dǎo)致拒絕用戶訪問的錯誤解決方法,需要的朋友可以參考下2016-01-01關(guān)于mongoose連接mongodb重復(fù)訪問報錯的解決辦法
這篇文章主要介紹了關(guān)于mongoose連接mongodb重復(fù)訪問報錯的解決辦法的相關(guān)資料,需要的朋友可以參考下2016-01-01MariaDB表表達(dá)式之公用表表達(dá)式(CTE)
公用表表達(dá)式(Common Table Expression)是SQL Server2005版本的引入的一個特性,CTE可以看組是一個臨時的結(jié)果集,下面這篇文章主要給大家介紹了關(guān)于MariaDB表表達(dá)式之公用表表達(dá)式(CTE)的相關(guān)資料,需要的朋友可以參考下2022-01-01