MongoDB作为一个基于分布式文件存储的NoSQL数据库,以其高性能、可扩展性强、易于使用等特点而受到广泛欢迎。以下是MongoDB常用操作的总结:
一、数据库操作
- 查看所有数据库
- 命令:
show dbs - 说明:列出MongoDB中所有的数据库。
- 命令:
- 切换/创建数据库
- 命令:
use DATABASE_NAME - 说明:如果数据库不存在,则创建数据库。MongoDB在插入数据到集合(collection)时会自动创建数据库。
- 命令:
- 删除当前数据库
- 命令:
db.dropDatabase() - 说明:删除当前选中的数据库。执行前请确保已切换到正确的数据库。
- 命令:
- 查看当前数据库
- 命令:
db或db.getName() - 说明:返回当前选中的数据库名称。
- 命令:
二、集合操作
- 创建集合
- 命令:
db.createCollection(name, options) - 说明:
name是集合名,options是可选参数,如指定内存大小和是否固定大小等。MongoDB在插入文档时也会自动创建集合。
- 命令:
- 查看集合
- 命令:
show collections或db.getCollectionNames() - 说明:列出当前数据库中的所有集合。
- 命令:
- 删除集合
- 命令:
db.collectionName.drop() - 说明:
collectionName是要删除的集合名称。
- 命令:
三、文档操作
- 插入文档
- 单条插入:
db.collectionName.insertOne(document) - 多条插入:
db.collectionName.insertMany([document1, document2, ...]) - 说明:
document是要插入的文档,以BSON格式存储。
- 单条插入:
- 查询文档
- 查询所有:
db.collectionName.find() - 查询并格式化输出:
db.collectionName.find().pretty() - 按条件查询:
db.collectionName.find({key: value}) - 说明:
key是字段名,value是对应的值。
- 查询所有:
- 更新文档
- 更新一条:
db.collectionName.updateOne(query, update, options) - 更新多条:
db.collectionName.updateMany(query, update, options) - 说明:
query是查询条件,update是更新内容,options是可选参数。
- 更新一条:
- 删除文档
- 删除一条:
db.collectionName.deleteOne(query) - 删除多条:
db.collectionName.deleteMany(query) - 删除所有:
db.collectionName.deleteMany({}) - 说明:
query是删除条件。
- 删除一条:
四、高级查询
- 比较运算符
- 如:
$gt(大于)、$lt(小于)、$gte(大于等于)、$lte(小于等于)、$ne(不等于)等。
- 如:
- 逻辑运算符
- 如:
$and、$or、$not等,用于组合多个查询条件。
- 如:
- 正则表达式
- 如:
db.collectionName.find({key: /pattern/}),用于模糊查询。
- 如:
- 聚合查询
- 使用
db.collectionName.aggregate([pipeline]),其中pipeline是一系列的处理步骤,如$group、$match、$sort等。
- 使用
五、其他常用操作
- 查看数据库状态
- 命令:
db.stats() - 说明:返回当前数据库的状态信息。
- 命令:
- 查看数据库版本
- 命令:
db.version() - 说明:返回MongoDB的版本号。
- 命令:
- 索引操作
- 创建索引:
db.collectionName.createIndex(keys, options) - 查看索引:
db.collectionName.getIndexes() - 删除索引:
db.collectionName.dropIndex(indexName)或db.collectionName.dropIndexes()
- 创建索引:
MongoDB的常用操作涵盖了数据库、集合、文档等层面的管理,通过熟练掌握这些操作,可以高效地管理和查询MongoDB中的数据。
5万+

被折叠的 条评论
为什么被折叠?



