MongoDB数据库操作

11 min read

MongoDB是一种文档存储数据库,使用JSON格式存储数据,支持分布式部署和水平扩展。以下是MongoDB数据库的基本操作:

  1. 启动MongoDB

启动MongoDB服务器:

mongod

启动MongoDB客户端:

mongo
  1. 创建数据库

MongoDB数据库是在使用时自动创建的。如果需要显式创建数据库,可以使用以下命令:

use database_name
  1. 创建集合

MongoDB集合是在使用时自动创建的。如果需要显式创建集合,可以使用以下命令:

db.createCollection(collection_name)
  1. 插入文档

向MongoDB数据库中插入文档可以使用以下命令:

db.collection_name.insertOne(document)

其中,document表示插入的文档,是一个JSON格式的对象。如果需要插入多个文档,可以使用以下命令:

db.collection_name.insertMany([document1, document2, ...])
  1. 查询文档

查询MongoDB数据库中的文档可以使用以下命令:

db.collection_name.find(query, projection)

其中,query表示查询条件,是一个JSON格式的对象;projection表示需要返回的字段,是一个JSON格式的对象。

  1. 更新文档

更新MongoDB数据库中的文档可以使用以下命令:

db.collection_name.updateOne(query, update)

其中,query表示更新条件,是一个JSON格式的对象;update表示需要更新的字段,也是一个JSON格式的对象。

  1. 删除文档

删除MongoDB数据库中的文档可以使用以下命令:

db.collection_name.deleteOne(query)

其中,query表示删除条件,是一个JSON格式的对象。如果需要删除多个文档,可以使用以下命令:

db.collection_name.deleteMany(query)
  1. 聚合操作

MongoDB支持多种聚合操作,例如求和、平均、最大值、最小值等。以下是一些常用的聚合操作:

求和:

db.collection_name.aggregate([
  {$group: {_id: null, count: {$sum: "$field_name"}}}
])

其中,field_name表示要求和的字段。

平均:

db.collection_name.aggregate([
  {$group: {_id: null, avg: {$avg: "$field_name"}}}
])

最大值:

db.collection_name.aggregate([
  {$group: {_id: null, max: {$max: "$field_name"}}}
])

最小值:

db.collection_name.aggregate([
  {$group: {_id: null, min: {$min: "$field_name"}}}
])

以上是MongoDB的基本操作,当然还有很多高级操作和细节需要学习。