mongodb的安装和使用

一、安装

  1. mongodb介绍
  2. 下载链接: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

  1. 新建文档命名: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的使用

  1. 管理逻辑库(逻辑库中要有数据表)

创建/切换逻辑库
use test

查看逻辑库
show dbs

删除逻辑库(删除当前使用逻辑库下的集群)
db.dropDatabase()

  1. 集合管理(集合就类似于数据库表)

创建集合
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插入数据的3种方法

主键值
在集合中,文档之间都是松散,没有统一的字段约束。为了标识文档的唯一性,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"})

创建索引的原则

■数据量很大的集合必须创建索引,相反则不需要创建索引
■ 集合的数据读取多过写入,则需要创建索引
■ 给经常被当作查询条件的字段设置索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值