一、数据库操作
- 显示所有数据库:
- 命令:
show dbs
或show databases
- 命令:
- 选择或创建数据库:
- 命令:
use 数据库名称
- 如果该数据库不存在,MongoDB会在首次插入数据到该数据库时创建它。
- 命令:
- 删除当前数据库:
- 命令:
db.dropDatabase()
- 注意:此操作会删除当前选中的数据库及其所有集合和文档。
- 命令:
二、集合操作
- 新增集合:
- 在MongoDB中,通常不需要显式地创建集合。当向不存在的集合中插入文档时,MongoDB会自动创建该集合。
- 查看集合:
- 命令:
show collections
或show tables
- 命令:
- 删除集合:
- 命令:
db.collectionName.drop()
- 替换
collectionName
为你要删除的集合名。
- 命令:
三、文档操作
- 新增文档:
- 使用
insertOne()
、insertMany()
或旧版本的insert()
方法。 - 示例:
db.collectionName.insertOne({key: "value"})
- 使用
- 更新文档:
- 使用
updateOne()
、updateMany()
或replaceOne()
方法。 - 示例:
db.collectionName.updateOne({条件}, {$set: {新字段: "新值"}})
- 使用
- 删除文档:
- 使用
deleteOne()
或deleteMany()
方法。 - 示例:
db.collectionName.deleteOne({条件})
- 使用
- 查询文档:
- 使用
find()
方法。 - 示例:
db.collectionName.find({条件})
- 还可以结合其他操作符如
$gt
、$lt
、$in
等进行更复杂的查询。
- 使用
- 统计:
- 使用
countDocuments()
方法统计匹配条件的文档数量。 - 示例:
db.collectionName.countDocuments({条件})
- 使用
- 分页、排序:
- 使用
sort()
方法进行排序,limit()
和skip()
方法进行分页。 - 示例:
db.collectionName.find().sort({字段: 1}).limit(10).skip(20)
- 使用
四、索引操作
- 创建索引:
- 使用
createIndex()
方法(在新版本中推荐使用createIndex()
而不是ensureIndex()
)。 - 示例:
db.collectionName.createIndex({字段: 1})
- 其中
1
表示升序,-1
表示降序。
- 使用
- 查看索引:
- 使用
getIndexes()
方法查看集合上的所有索引。 - 示例:
db.collectionName.getIndexes()
- 使用
- 删除索引:
- 使用
dropIndex()
或dropIndexes()
方法。 - 示例:
db.collectionName.dropIndex("索引名称")
或db.collectionName.dropIndexes()
(删除所有索引)
- 使用
1. 连接到MongoDB实例
通常,MongoDB服务默认运行在localhost
的27017
端口上。你可以直接打开MongoDB Shell来连接到这个实例:
如果MongoDB服务运行在不同的主机或端口上,你可以使用--host
和--port
参数来指定:
2. 选择或创建数据库
在MongoDB Shell中,使用use
命令来选择或创建一个数据库:
3. 插入文档
在选定的数据库中,你可以使用insertOne
或insertMany
方法在集合中插入文档。如果集合不存在,MongoDB会自动创建它:
4. 查询文档
使用find
方法来查询文档:
5. 更新文档
使用updateOne
、updateMany
或replaceOne
方法来更新文档:
6. 删除文档
使用deleteOne
或deleteMany
方法来删除文档:
7. 创建索引
使用createIndex
方法在集合上创建索引:
8. 查看索引
使用getIndexes
方法查看集合上的所有索引:
9. 删除索引
使用dropIndex
方法删除指定的索引,或者使用dropIndexes
方法删除集合上的所有索引:
10. 查看数据库和集合
1. 投影(Projection)
在查询文档时,你可以选择性地返回文档的某些字段。这被称为投影。
2. 排序(Sort)
你可以根据一个或多个字段对查询结果进行排序。
3. 分页(Limit 和 Skip)
你可以使用limit
和skip
方法来限制返回的文档数量以及跳过一定数量的文档,从而实现分页功能。
4. 聚合(Aggregation)
MongoDB提供了强大的聚合框架,用于对数据进行复杂的分析操作,如分组、排序、计算等。
5. 文本搜索(Text Search)
MongoDB支持全文搜索,允许你在字符串字段上执行文本搜索查询。
6. 数组操作
MongoDB的文档可以包含数组字段,你可以对这些数组字段执行各种操作。
7. 地理位置查询
MongoDB支持地理空间索引和查询,允许你根据地理位置信息(如经纬度)来查询文档。