MongoDB学习【三】MongoDB基本操作命令

1. 启动MongoDB服务:

在Windows环境下,通常你可以通过命令提示符(cmd)来启动MongoDB服务。首先确保已经正确设置了--dbpath参数指向数据库文件存储的位置,然后执行mongod服务程序:

shell 复制代码
mongod --dbpath D:\mongo

在Linux系统中,如果是通过包管理器安装的MongoDB服务,通常会有一个系统服务脚本来启动和停止MongoDB服务,可以通过以下命令启动:

shell 复制代码
systemctl start mongod

如果是在开发环境中,也可以直接运行mongod服务而不作为后台进程,不过生产环境中一般不会这样做。

2. 使用mongo shell进行交互式操作:

mongo shell是MongoDB自带的一个基于JavaScript的交互式环境,用于对MongoDB数据库进行操作。启动mongo shell很简单,只需在命令行输入mongo即可:

shell 复制代码
mongo

进入mongo shell后,可以连接到本地MongoDB服务器,如果MongoDB服务正在运行且默认监听27017端口,则无需额外指定连接参数。

3. 创建、删除数据库:

  • 创建数据库: 在MongoDB中,数据库会在第一次插入数据时自动创建。若要在mongo shell中显式创建一个空数据库,可通过切换至该数据库名的方式来实现,例如创建一个名为"myDatabase"的数据库:

    javascript 复制代码
    use myDatabase
  • 删除数据库: 要删除一个数据库,同样在mongo shell中,需要执行dropDatabase()方法:

    javascript 复制代码
    db.dropDatabase()

4. 创建、删除集合:

  • 创建集合: 集合相当于关系型数据库中的表,也是在插入第一条数据时自动创建。如果你想要明确创建一个集合而无须立即插入数据,可以使用createCollection()方法:

    javascript 复制代码
    db.createCollection("myCollection")
  • 删除集合: 删除集合使用dropCollection()方法:

    javascript 复制代码
    db.myCollection.drop()

5. CRUD操作(插入、查询、更新、删除文档数据):

  • 插入文档: 使用insertOne(), insertMany()方法向集合中插入文档:

    javascript 复制代码
    db.myCollection.insertOne({ name: "John", age: 30 })
  • 查询文档: 使用find()方法查询集合中的文档,可以结合各种查询条件:

    javascript 复制代码
    db.myCollection.find({ age: { $gt: 25 } })
  • 更新文档: 使用updateOne(), updateMany()或者replaceOne()方法来修改已存在的文档:

    javascript 复制代码
    db.myCollection.updateOne({ name: "John" }, { $set: { age: 31 } })
  • 删除文档: 使用deleteOne(), deleteMany()方法删除满足条件的文档:

    javascript 复制代码
    db.myCollection.deleteOne({ name: "John" })

以上是一些基本的MongoDB操作示例。实际应用中,可以根据具体需求使用更多高级查询选项、索引操作以及其他数据库管理功能。

相关推荐
wdfk_prog几秒前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
老邓计算机毕设6 分钟前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
盐焗西兰花11 分钟前
鸿蒙学习实战之路-Reader Kit自定义字体最佳实践
学习·华为·harmonyos
麦聪聊数据26 分钟前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_7903009631 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919101 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓1 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
近津薪荼1 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
m0_466525291 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
敏叔V5872 小时前
AI智能体的工具学习进阶:零样本API理解与调用
人工智能·学习