特色:_按條件查詢_


特色:轉(zhuǎn)化為查詢語(yǔ)言

聚合

特色:_可以可視化的添加pipleline中的Stage_

NoSQLBooster

NoSQLBooster是MongoDB CLI界面中非常流行的GUI工具。它正式名稱為MongoBooster。NoSQLBooster是一個(gè)跨平臺(tái),它自帶一些mongodb工具來(lái)管理數(shù)據(jù)庫(kù)和監(jiān)控服務(wù)器。這個(gè)Mongodb工具包括服務(wù)器監(jiān)控工具,Visual Explain Plan,查詢構(gòu)建器,SQL查詢,ES2017語(yǔ)法支持等。它有免費(fèi),個(gè)人和商業(yè)版本,當(dāng)然,免費(fèi)版本有一些功能限制。NoSQLBooster也可用于Windows,MacOS和Linux。支持 sql,免費(fèi)版支持 CSV、JSON 導(dǎo)入,但不支持 CSV、JSON 導(dǎo)出。集成了 mongodump/mongorestore,支持監(jiān)控,和查詢優(yōu)化。下載鏈接:https://nosqlbooster.com/downloads

Robot3T

Robo 3T前身是Robomongo。支持Windows,MacOS和Linux系統(tǒng)。Robo 3T 1.3為您提供了對(duì)MongoDB 4.0和SCRAM-SHA-256(升級(jí)的mongo shell)的支持,支持從MongoDB SRV連接字符串導(dǎo)入,以及許多其他修復(fù)和改進(jìn)。大家也可以找到之前的Robomongo,完全免費(fèi)的版本使用。下載地址:https://robomongo.org/download

早前的Robomongo

Vs Code plugin

對(duì)于喜歡超級(jí)輕量級(jí)的,以及vscode粉來(lái)說(shuō),MongoDB vscode插件可以考慮下:

基本使用 Java API

向你介紹下MongoDB提供的原生的JavaAPI;而大多數(shù)公司使用Spring框架,會(huì)使用Spring Data對(duì)MongoDB原生API的封裝,比如JPA,MongoTemplate等。

MongoDB Driver

<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.6</version>
</dependency>

代碼測(cè)試

例子請(qǐng)參考 mongo-java-driver(http://mongodb.github.io/mongo-java-driver/3.12/driver/getting-started/quick-start/)

private static final Integer MONGO_PORT = 27017;

private static final String MONGO_DB = "testdb";

public static void main(String args[]) {
try {
// 連接到 mongodb 服務(wù)
MongoClient mongoClient = new MongoClient(MONGO_HOST, MONGO_PORT);

// 連接到數(shù)據(jù)庫(kù)
MongoDatabase mongoDatabase = mongoClient.getDatabase(MONGO_DB);
System.out.println("Connect to database successfully");

// 創(chuàng)建Collection
mongoDatabase.createCollection("test");
System.out.println("create collection");

// 獲取collection
MongoCollection<Document> collection = mongoDatabase.getCollection("test");

// 插入document
Document doc = new Document("name", "MongoDB")
.append("type", "database")
.append("count", 1)
.append("info", new Document("x", 203).append("y", 102));
collection.insertOne(doc);

// 統(tǒng)計(jì)count
System.out.println(collection.countDocuments());

// query - first
Document myDoc = collection.find().first();
System.out.println(myDoc.toJson());

// query - loop all
MongoCursor<Document> cursor = collection.find().iterator();
try {
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} finally {
cursor.close();
}

} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
}

更多關(guān)于 MongoDB 數(shù)據(jù)庫(kù)的學(xué)習(xí)文章,請(qǐng)參閱:NoSQL 數(shù)據(jù)庫(kù)之 MongoDB,本系列持續(xù)更新中。

基本使用 Spring集成

本文為主要介紹Spring Data對(duì)MongoDB原生API的封裝,比如Spring-data-mongo,MongoTemplate等。以及原生API和Spring data系列之間的關(guān)系。

Spring Data 與 MongoDB

在初學(xué)使用者而言,常會(huì)分不清Spring-data-jpa, spring-data-mongo, springboot-data-mongo-starter以及mongo-driver之間的關(guān)聯(lián)關(guān)系, 本節(jié)將帶你理解它們之間的關(guān)系。

Spring Data的層次結(jié)構(gòu)

首先讓我們回顧下Spring runtime體系:

Spring Data是基于Spring runtime體系的:

下面這個(gè)圖能夠直觀反映出它們之間的依賴關(guān)系,以及包中類之間的以來(lái)關(guān)系。

springboot-data-mongo層次結(jié)構(gòu)

我們通過(guò)引入springboot-data-mongo-starter包來(lái)看它們之間的層次結(jié)構(gòu):

Mongodb+Java 用法

所以通過(guò)上面分析我們可以得到基于mongodb+Java的常見(jiàn)用法:

使用方式及依賴包的引入

案例參考

原生方式
spring-data-mongo

本文轉(zhuǎn)載自公眾號(hào)@民工哥技術(shù)之路

上一篇:

使用LoRA(低秩適應(yīng))微調(diào)大型語(yǔ)言模型的實(shí)用技巧

下一篇:

深入了解 Gateway API 的推理擴(kuò)展
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)