下载mongodb
进入官网:
Download MongoDB Community Server | MongoDB
选择msi,Windows版本
下载完后直接双击:
选择complete
这里建议改地方:
我这里直接改成d盘:work目录下面:
点击next:
因为这个是要在线按照mongodb的gui界面的,因为官网速度有点慢,所以去掉。后面我们手动在下载回来。然后点击next,就行了。
然后等一会就完成了,如果你要等很久,那只能说明,你那个图形化界面不应该勾中的。
下载mongoDB图形化界面
具体链接为:MongoDB Compass Download (GUI) | MongoDB
点击下载就行了:
下载mongoDB Shell
选中msi:
点击下载就行了。
下载完成后,双击打开:
目录改一下:
安装就行了。
开始学习:
进入mongdb的shell工具目录:
双击那个exe文件。
输入命令,建立连接:
mongosh
清除屏幕 指令: cls
退出 指令: exit
配合vs code + shell 使用:
打开vs code
安装这个插件:
安装完了,下面会出现:
把这个url,复制到vscode的那个框上:
mongodb://127.0.0.1:27017/mongosh?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.0.2
然后按下回车,就好了。
然后用打开shell
成功:
配置一下环境变量:
测试成功。
用mongoDB创建和使用数据库
查询数据库
show dbs
use admin
创建并切换到某个数据库 use某个的数据库,是那个数据库没有就创建,有就使用的
use human
因为human这个数据库是空的,所以使用show human 是显示不出来的
创建一个student的集合
db.createCollection("student")
现在查看数据库,就可以发现有了human数据库
删除数据库:
human> db.dropDatabase()
使用gui界面操作数据库
填写数据库名称,集合名称
然后点击创建就行了。
删除数据库:
插入mongdb的文档
human> db.student.insertOne({name:"Joe",age:30,GPA:3.2})
查找当前文档的内容
db.student.find()
它这个id是自动生成的,mongdb自带的_id字段
插入多条数据:
db.stduent.insertMany([{name:"cao"},{name:"b"},{name:"a"}])
查看一下。
可以看出 一个stduent 一个student,不同的集合
如何用gui来插入数据
然后插入:
点击这个:
就好了:
点击insert便可以直接插入:
插入多条数据:注:记住每次都要点击那个规范格式
Mongodb的基本数据类型
Mongodb的基本数据类型包括:
-
字符串(String):存储字符串数据,最大长度为16 MB。
-
整型(Integer):存储整数数据。
-
长整型(Long):存储大的整数数据。
-
双精度浮点型(Double):存储浮点数数据。
-
布尔型(Boolean):存储true或false值。
-
日期型(Date):存储日期和时间数据。
-
数组(Array):存储一组有序的数据。
-
对象ID(ObjectId):存储文档的唯一标识符。
-
Null类型:表示一个空值或不存在的值。
-
正则表达式(RegExp):存储正则表达式。
-
JavaScript代码片段(Code):存储JavaScript代码。
-
二进制数据(Binary Data):存储二进制数据。
-
最大值(Max Key):表示数据的最大值。
-
最小值(Min Key):表示数据的最小值。
Mongodb查询排序:
- sort():对查询结果进行排序,可指定升序或降序,默认为升序。
示例:对age字段进行降序排序
db.collection.find().sort({age:-1})
2.limit():限制查询结果数量。
示例:查询前3条数据
db.collection.find().limit(3)
3.skip():跳过指定数量的结果。
示例:查询第4-6条数据
db.collection.find().skip(3).limit(3)
4.count():返回查询结果的数量。
示例:查询符合条件的数据总数
db.collection.find().count()
5.max()和min():返回查询结果中指定字段的最大值和最小值。
示例:查询age字段的最大值和最小值
db.collection.find().max({age:1})
db.collection.find().min({age:1})
6.forEach():对查询结果进行遍历,可用于执行自定义操作。
示例:将符合条件的结果的age字段加1
db.collection.find().forEach(function(doc){db.collection.update({_id:doc._id}, {$inc:{age:1}})
})