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操作示例。实际应用中,可以根据具体需求使用更多高级查询选项、索引操作以及其他数据库管理功能。

相关推荐
不羁。。4 小时前
【撸靶笔记】第八关:GET - Blind - Boolian Based - Single Quotes
数据库·sql·mybatis
AwhiteV4 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
m0_595199855 小时前
Redis(以Django为例,含具体操作步骤)
数据库·redis·缓存
爱尚你19935 小时前
MySQL 三大日志:redo log、undo log、binlog 详解
数据库·mysql
月盈缺5 小时前
学习嵌入式的第二十二天——数据结构——双向链表
数据结构·学习·链表
小猿姐6 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks
★YUI★7 小时前
学习游戏制作记录(制作系统与物品掉落系统)8.16
学习·游戏·ui·unity·c#
努力还债的学术吗喽8 小时前
【速通】深度学习模型调试系统化方法论:从问题定位到性能优化
人工智能·深度学习·学习·调试·模型·方法论
NocoBase8 小时前
10 个开源工具,快速构建数据应用
数据库·低代码·开源
麻辣清汤8 小时前
结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))
数据库·python·sql·finebi