Windows搭建MongoDB(5):Mongosh操作数据库常用命令总结

前言

大家好,我是WangHappy,一名主业前端,副业全栈的程序员,在这里我会分享关于前端进阶全栈的常用技术基本入门操作。 如果我的文章能让您有所收获,欢迎一键三连(评论,点赞,关注)。


在前端转型全栈的过程中,我们多数情况下使用 node.js 来开发服务端,而 node.js 里操作MongoDB数据库最常用的库是 mongoose,所以 mongosh 在实际开发中的使用频率并不是很高,多用于测试或查看数据库状态等场景。

本章只讲述 Mongosh 一些常用命令,例如:数据库基本的增、删、改、查(CRUD)和状态信息获取等操作,能够满足我们日常开发使用即可。

1.连接数据库

1.1 本地连接数据库

arduino 复制代码
mongosh --dbpath "path/data"

1.2 远程连接数据库

xml 复制代码
mongosh "mongodb://<hostname>:<port>"

举例:mongosh "mongodb://192.168.0.0:27017"

1.3 远程连接数据库并使用用户名密码验证

xml 复制代码
mongosh "mongodb://<username>:<password>@<hostname>:<port>"

举例:mongosh "mongodb://admin:admin123@192.168.0.0:27017"

2.查看数据库状态

2.1 查看当前使用的数据库

复制代码
db
  • 切换数据库
perl 复制代码
use <database_name>

举例:use admin

如果切换的数据库名称当前不存在,则会在 insert 插入数据时自动创建

注意:是插入数据时创建,而不是使用 use 切换时创建。

2.2 列出MongoDB实例下所有的数据库

show databases 可以查看目前所有的数据库,也可以使用简写 show dbs

sql 复制代码
show databases

2.3 列出当前数据库下所有集合

理论上每个数据库下都可以包含一个或多个集合,它有点类似于我们传统关系型数据库中的 的概念。

sql 复制代码
show collections

2.4 退出 mongosh

使用 exit 可以直接退出mongosh数据库连接,也可以使用 ctrl + c 快捷键来退出

bash 复制代码
exit

3.数据库的增删改查

3.1 插入数据

使用 insertOne 插入一条数据,使用 insertMany 插入多条数据,代码如下:

php 复制代码
// 插入一条数据
db.user.insertOne({ name: "Mike", age: 30 })

// 插入多条数据
db.user.insertMany([{ name: "Marry", age: 25 }, { name: "Kerry", age: 35 }])

3.2 删除数据

使用 deleteOne 删除单个文档,使用 deleteMany 删除多个文档

php 复制代码
// 删除单个文档
db.user.deleteOne({ name: "Alice" })

// 删除年龄30岁以下的数据
db.user.deleteMany({ age: { $lt: 30 } })

3.3 更新数据

使用 updateOne 更新单个文档,使用 updateMany 更新多个文档

php 复制代码
// 更新单个文档
db.user.updateOne({ name: "Alice" }, { $set: { age: 31 } })

// 更新多个文档
db.user.updateMany({ age: { $lt: 30 } }, { $set: { status: "young" } })

3.4 查询数据

使用 find 查询集合中所有数据

lua 复制代码
db.user.find()

查询某个条件的文档

php 复制代码
// 查询30岁以下的数据
db.user.find({ age: { $gte: 30 } })

3.5 创建索引

为某个字段创建索引

css 复制代码
db.user.createIndex({ name: 1 })

3.6 查看当前集合下的所有索引

scss 复制代码
db.users.getIndexes()

执行上述代码通常会返回两个索引,_idname

_id 索引:是自动创建,用于确保每条数据的唯一性。

name 索引:自定义索引,方便对指定字段的查询操作,例如 name: 1 表示按升序排列,如果改为 name: -1 表示降序。

4.其它命令

命令 作用
version() 查看当前使用 mongosh 的版本
help 查看 mongosh 的帮助信息, 查看某个命令的帮助信息,<name>.help(), 例如:db.help()

写在最后


本章整理了 mongosh 中一些常用命令,方便大家在日常使用中参考。虽然 mongosh 功能强大,但像 聚合查询 等更贴近业务场景的功能,我通常会通过 mongoose 来实现。接下来,我将继续编写关于 node.js + mongoose 的使用教程,并与大家分享更多实践经验。

相关推荐
ba_pi3 小时前
物联网中台搭建以及规则定义
物联网·mqtt·mongodb·tdengine·emqx·node-red
郏国上7 小时前
查询数据库上所有表用到图片和视频的数据,并记录到excel表
mongodb·node.js·excel
郏国上8 小时前
由于图片视频替换和删除导致阿里云上存在大量系统不再使用的文件如何处理
数据库·mongodb·阿里云
郏国上11 小时前
遍历访问阿里云节点下的所有文件信息并写入excel文件
数据库·mongodb·阿里云·excel
WangHappy1 天前
Windows搭建MongoDB(4):服务器部署及远程访问
mongodb·mongoose
think2cat1 天前
图书馆的"备份书库"与"时光机":MongoDB副本集深度揭秘
数据库·mongodb
点灯小铭2 天前
基于单片机的噪声波形检测与分贝测量仪设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
ColderYY2 天前
python和mongodb交互
python·mongodb
gongzemin2 天前
使用阿里云 ECS 安装 MongoDB并实现后端连接
mongodb·express