非关系型数据库MongoDB介绍:
非关系型数据库(NoSQL数据库)是指那些不使用传统关系模型(如表格、行和列)来组织和存储数据的数据库系统。与关系型数据库 MySQL相比,非关系型数据库采用了不同的数据模型和架构设计; MongoDB 是一款面向文档(document-oriented)的、开源的、高性能的、分布式的、模式自由(schema-free)的 NoSQL 数据库管理系统。
使用Java连接mongodb并交互
Java应用程序与MongoDB交互通常使用官方提供的MongoDB Java驱动,该驱动提供了与JDBC类似的API; 主要组件包括MongoClient、MongoDatabase、MongoCollection、Document等。
编码实现使用MongoDB Java驱动进行连接
1、在官方网站下载驱动依赖包 2、添加MongoDB Java驱动依赖到项目中 3、创建MongoClient实例,连接到MongoDB服务器 4、选择要操作的MongoDatabase和MongoCollection
伪代码如下:
import com.mongodb.ConnectionString; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase;
public class MongoDBConnection {
public static void main(String[] args) { // 1. 定义MongoDB连接字符串 String connectionString = "mongodb://username:password@localhost:27017/?authSource=admin&ssl=false"; // 2. 创建MongoClient实例 MongoClient mongoClient = MongoClients.create(connectionString); // 3. 连接到指定数据库 MongoDatabase database = mongoClient.getDatabase("DatabaseName"); // 4. 执行操作(例如,获取集合、查询数据等) MongoCollection<Document> collection = database.getCollection("CollectionName"); // ... 进行数据库操作 ... // 5. 在应用结束时关闭连接 mongoClient.close(); }
}
编码实现数据操作
5、使用MongoCollection的insertOne、updateOne、deleteOne等方法执行数据操作
6、使用find、aggregate等方法执行查询,并处理返回的Cursor或List<Document>
伪代码如下:
import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;public class MongoDBConnection {
public static void main(String[] args) {
// 1. 定义MongoDB连接字符串
String connectionString = "mongodb://username/?authSource=admin&retryWrites=true&w=majority";// 2. 创建MongoClientSettings对象 MongoClientSettings settings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(connectionString)) .build(); // 3. 创建MongoClient实例 try (MongoClient mongoClient = MongoClients.create(settings)) { // 4. 连接到指定数据库 MongoDatabase database = mongoClient.getDatabase("your_database_name"); // 5. 选择目标集合 MongoCollection<Document> collection = database.getCollection("your_collection_name"); // 6. 执行操作 // 插入一个文档 Document doc = new Document("title", "Example Document") .append("content", "This is an example document."); collection.insertOne(doc); // 查询文档 FindIterable<Document> iterable = collection.find(); for (Document foundDoc : iterable) { System.out.println(foundDoc.toJson()); } } catch (Exception e) { e.printStackTrace(); } }
}
我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!