提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- MongoDB基础知识点总览
 - 目录
 - 1. MongoDB简介
 - 示例代码:连接MongoDB
 
- 2. 安装与配置
 - 安装MongoDB
 - 配置MongoDB
 
- 3. 基本概念
 - 示例代码:创建数据库和集合
 
- 4. CRUD操作
 - 插入文档(Create)
 - 读取文档(Read)
 - 更新文档(Update)
 - 删除文档(Delete)
 
- 5. 索引
 - 示例代码:创建索引
 
- 6. 聚合管道
 - 示例代码:使用聚合管道
 
- 7. 复制与分片
 - 复制
 - 分片
 
- 总结
 
MongoDB基础知识点总览
目录
- MongoDB简介
 - 安装与配置
 - 基本概念
 - CRUD操作
 - 索引
 - 聚合管道
 - 复制与分片
 
1. MongoDB简介
MongoDB是一个面向文档的NoSQL数据库,它使用JSON风格的文档来存储数据。它提供了高性能、高可用性和可扩展性。
示例代码:连接MongoDB
const { MongoClient } = require('mongodb');const uri = "your_mongodb_uri";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });async function run() {try {await client.connect();console.log("Connected successfully to server");const database = client.db('your_database_name');console.log("Connected correctly to database");} finally {await client.close();}
}run().catch(console.dir);
 
2. 安装与配置
安装MongoDB
- 在Linux上安装:使用包管理器(如
apt或yum)。 - 在Windows上安装:从MongoDB官网下载并安装。
 - 在macOS上安装:使用Homebrew。
 
配置MongoDB
- 配置文件路径:
/etc/mongod.conf(Linux),mongod.cfg(Windows)。 - 启动MongoDB服务:
sudo systemctl start mongod(Linux),mongod --config <path_to_config>(手动)。 
3. 基本概念
- 文档(Document):MongoDB中的基本数据单元,类似于JSON对象。
 - 集合(Collection):一组文档的集合。
 - 数据库(Database):一个或多个集合的集合。
 
示例代码:创建数据库和集合
const { MongoClient } = require('mongodb');const uri = "your_mongodb_uri";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });async function run() {try {await client.connect();const database = client.db('test_database');await database.createCollection('test_collection');console.log("Database and collection created");} finally {await client.close();}
}run().catch(console.dir);
 
4. CRUD操作
插入文档(Create)
const document = { name: "Alice", age: 25, city: "New York" };
const result = await collection.insertOne(document);
console.log(`${result.insertedId} document inserted`);
 
读取文档(Read)
const documents = await collection.find({}).toArray();
console.log(documents);
 
更新文档(Update)
const filter = { name: "Alice" };
const update = { $set: { age: 26 } };
const result = await collection.updateOne(filter, update);
console.log(`${result.modifiedCount} document updated`);
 
删除文档(Delete)
const filter = { name: "Alice" };
const result = await collection.deleteOne(filter);
console.log(`${result.deletedCount} document deleted`);
 
5. 索引
索引用于提高查询性能。MongoDB支持多种类型的索引,包括单字段索引、复合索引、唯一索引等。
示例代码:创建索引
await collection.createIndex({ name: 1 }); // 1表示升序,-1表示降序
 
6. 聚合管道
聚合管道提供了对集合中的文档进行转换和聚合的功能。
示例代码:使用聚合管道
const pipeline = [{ $match: { age: { $gte: 25 } } },{ $group: { _id: "$city", total: { $sum: 1 } } },{ $sort: { total: -1 } }
];
const results = await collection.aggregate(pipeline).toArray();
console.log(results);
 
7. 复制与分片
复制
MongoDB支持主从复制和副本集,以确保数据的高可用性。
分片
分片将数据分布到多个服务器上,以提高大数据集的性能和可扩展性。
总结
提示:这里对文章进行总结:
 例如:以上就是今天要讲的内容,自学记录MongoDB基础知识点总览。
