MongoDB是一个NoSQL数据库系统,一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由一组列标识的实体的集合对应于关系数据库表中的行,下面通过熟悉MongoDB的基本管理命令,来了解MongoDB提供的DBMS的基本功能和行为。
数据库操作
命令 | 描述 |
show dbs | 显示所有数据库名称 |
use | 切换到指定数据库 |
db.dropDatabase() | 删除当前数据库 |
db.createCollection(name, {size: ..., capped: ..., max: ...}) | 创建新集合 |
show collections | 显示当前数据库的所有集合 |
db.collection.drop() | 删除当前集合 |
文档操作
命令 | 描述 |
db.collection.insert() | 插入单个或多个文档 |
db.collection.insertOne() | 插入单个文档(推荐) |
db.collection.update(,, {upsert:true}) | 根据条件更新文档,如果不存在则创建 |
db.collection.updateMany(,) | 更新符合条件的多个文档 |
db.collection.remove() | 删除符合条件的文档 |
db.collection.find() | 查询符合条件的文档 |
db.collection.findOne() | 查询符合条件的单个文档 |
db.collection.countDocuments() | 统计符合条件的文档数量 |
索引操作
命令 | 描述 |
db.collection.createIndex({field: value}) | 创建索引,提高查询速度 |
db.collection.getIndexes() | 获取所有索引信息 |
db.collection.dropIndex() | 删除指定索引 |
聚合操作
命令 | 描述 |
db.collection.aggregate([pipeline]) | 执行聚合管道,进行复杂的数据分析 |
db.collection.mapReduce(mapFunction, reduceFunction) | 使用MapReduce进行数据处理 |
用户管理
命令 | 描述 |
db.addUser(username, password, [readOnly=false]) | 添加新用户 |
db.auth(username, password) | 用户认证 |
db.removeUser(username) | 移除用户 |
备份与恢复
命令 | 描述 |
db.adminCommand({copydb:1, fromhost: sourceHost, fromdb: sourceDB, todb: targetDB}) | 复制数据库 |
mongorestore db | 从备份文件恢复数据库 |
常用辅助命令
命令 | 描述 |
db.currentOp() | 显示当前正在执行的操作 |
db.serverStatus() | 显示服务器状态信息 |
db.runCommand({ping:1}) | 检查服务器是否在运行 |
常见问题解答 (FAQs)
Q1: 如何查看当前数据库中的所有集合?
A1: 你可以使用show collections
或show tables
命令来查看当前数据库中的所有集合。
show collections
或者
show tables
Q2: 如何在MongoDB中创建一个索引?
A2: 你可以使用db.collection.createIndex()
方法在集合上创建索引,要在集合users
上为字段username
创建索引,你可以使用以下命令:
db.users.createIndex({ "username": 1 })
1
表示升序索引,你也可以使用1
来创建降序索引。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1106624.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复