一、安装
- mongodb介绍
- 下载链接:https://www.mongodb.com/try/download/community

下载之后文件:

直接默认安装

二、使用mongodb
1、进入mongodb打开cmd输入:mongo --host localhost --port 27017
2、创建逻辑库:use school(存在即切换,不存在即创建)
3、显示当前mongodb有多少逻辑库: show dbs
4、创建数据表并将信息存储的到信息表: db.student.save({name:“Soct”,sex:“male”,age:25,city:“Beijing”})
5、查看刚刚创建的内容:db.student.find()
6、创建用户权限:
创建一个具有root权限且属于admin逻辑库的admin用户


7、开启登录验证功能
即便创建了用户,但是mongodb默认没有开启登录验证功能,所以需要开启这个功能
创建mongdb配置文件,congodb.cnf
- 新建文档命名:congodb.cnf,将以下内容复制到文档中,dbpath是data的路径,logpath是
mongod.log的路径, auth=true 表示登录需要验证
dbpath=C:\Program Files\MongoDB\Server\5.0\data logpath=C:\Program Files\MongoDB\Server\5.0\log\mongod.log auth=true
congodb.cnf存放位置:

重新安装MongoDB服务
为了让MongoDB服务加载mongo.cnf文件,需要重新安装MongoDB服务。所以需要以管理员身份打开c命令行窗口,执行下面的命令
mongod
--config "C:\Program Files\MongoDB\Server\5.0\mongo.cnf"
--reinstall

重启服务

重新登录:

使用robot3t客户端登录

三、mongodb的使用
- 管理逻辑库(逻辑库中要有数据表)
创建/切换逻辑库
use test
查看逻辑库
show dbs
删除逻辑库(删除当前使用逻辑库下的集群)
db.dropDatabase()
- 集合管理(集合就类似于数据库表)
创建集合
db.createCollection("student")
查看集合
show collections
删除集合
db.student.drop()
查看集合记录数量
db.student.count()
查看数据看见容量
db.student.dataSize()
重命名集合
db.student.renameCollection("stu")
添加记录
集合的save函数允许我们添加一条或者多条记录
db.student.save([
{name:"李强",sex:"男",age:24},
{name:"丁朱",sex:"女",age:18}
])
主键值
在集合中,文档之间都是松散,没有统一的字段约束。为了标识文档的唯一性,MongoDB为每个文档都添加了主键字段(_id)obectIDd时一个12字节的BSON类型字符串
时间戳
MongoDB存储日期会自动转换成格林尼治时区,中国时区是东八区比格林尼治时区晚了8小时,当我们从主机里面提取时间戳会比本地时间早了8个小时。(需要将格林尼治时间转换为中国时间,要使用程序,比较麻烦。)
查询记录
db.student.find();
db.student.find({name:“dzz”,age:“25”})
db.student.find({name:“dzz”,age:{$gte:20}})
db.stundent.findOne()
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于)、查找条件
MongoDB表达式必须写成JSON格式
| 序号 | 表达式 | 意义 |
|---|---|---|
| 1 | $lt | 小于 |
| 2 | $gt | 大于 |
| 3 | $lte | 小于等于 |
| 4 | $gte | 大于等于 |
| 5 | $in | 包括 |
| 6 | $nin | 不包括 |
| 7 | $ne | 不等于 |
db.student.find({name:"dzz",age:{$gte:20,$lte:30}})
db.student.find({name:"dingqizhuzhu",age:{$gte:20,$lte:30}})
db.student.find({age:{$in:["25","24"]}})
| 序号 | 表达式 | 意义 |
|---|---|---|
| 1 | $all | 全部 |
| 2 | $not | 全部(取反) |
| 3 | $or | 或关系 |
| 4 | $exists | 含字段 |
索引
因为MongoDB中存放了大量的数据,所以为了加快数据检索速度,需要为集合设置索引。
索引字段按照升序排列,属性值为1;降序排列属性值为-1。
因为创建索引的过程会阻塞MongoDB,影响其他增删改查操作,所以background参数代表在空闲的时候创建索引。
普通索引的创建
db.student.createIndex({name:1})
删除索引 ()里面如果添加了索引的名称则表示删除该名称的索引,否则删除所有索引
db.student.dropIndexes()
db.student.dropIndexe("name_1")
因为创建索引的过程会阻塞MongoDB,影响其他增删改查操作,所以background参数代表在空闲的时候创建索引(推荐使用该写法)
如果想要指定索引的名字,则加上name:""的参数
db.student.createIndex({name:1},{background:true})
db.student.createIndex({name:1},{background:true,name:"name"})
查看索引的内容,打印索引的列表信息
db.student.getIndexes()
唯一性索引
唯一性索引只能创建在每个记录都含有的公共字段上,在非公共字段上不能创建唯一性索引的。
[unique为true表示唯一性,key字段需要在表中所有的表信息都有该key字段,且该key字段的值唯一,才能创建成功,否则会报错。
db.student.createIndex({name:1},{background:true,unique:true,name:"name"})
创建索引的原则
■数据量很大的集合必须创建索引,相反则不需要创建索引
■ 集合的数据读取多过写入,则需要创建索引
■ 给经常被当作查询条件的字段设置索引
本文详细介绍MongoDB的安装步骤及基本使用方法,包括数据库与集合的管理、数据的增删改查操作、索引的创建与管理等内容。
7233

被折叠的 条评论
为什么被折叠?



