0
点赞
收藏
分享

微信扫一扫

MongoDB(一)——增删改查,排序分页,索引,权限机制

infgrad 2022-04-17 阅读 28
mongodb

MongoDB(一 )

数据库简介

可以按如下步骤进行安装
在这里插入图片描述
wins+R 输入servises.msc查看mongodb是否安装完成

// 查看数据库  show databases
//选择使用哪个数据库  use 数据库的名称   (当该数据库有数据时,系统自动创建)
// 查看集合  show collections
//创建集合  db.collections("集合名")
//删除集合  db.集合名.drop()

如何删除数据库?

  1. 通过use语法选中数据库,
  2. 通过db.dropDatabase()删除数据库

增删改查

语法:db.集合名.insert(JSON数据)

说明:集合存在-则直接插入数据,集合不存在-隐式创建

use test2
db.c1.insert({uname:"webopenfather",age:18})

//1.数据库和集合不存在都隐式创建
//2.对象的键统一不加引号方便看,但是查看集合数据时系统会自动加
//mongodb会给每一条数据增加一个全球唯一的_id键

在这里插入图片描述

  • 可以自定义id值,只需要给插入的JSON数据增加_id键即可覆盖
db.c1.insert({_id:1,uname:"webopenfather",age:18})
  • 可以一次性插入多条数据,传递数据,数组中写一个个JSON数据即可
db.c1.insert([
{uname:"z3",age:3},
{uname:"z4",age:3},
{uname:"w5",age:3}
])
//一次性插入三条数据到c1集合
  • 快速插入数据,可以用循环

基础语法:db.集合名.find(条件[,查询的列])

条件:
   查询所有条件 {}或者不写
   查询age=6的数据  {age:6}
   既要age=6又要性别=男
   
   查询的列(可选参数
   不写-这查询全部列(字段
   {age:1} 只显示age列(字段
   {age:0} 除了age列(字段都显示
   不管怎么写系统自定义的_id都会在
   
运算符作用
$gt大于
$gte大于等于
$it小于
$lte小于等于
$ne不等于
$inin
$ninnot in

在这里插入图片描述

语法:db.集合名.update(条件,新数据[,是否新增, 是否修改多条])

在这里插入图片描述

在这里插入图片描述

格式化代码

排序&分页

  1. 排序:
  1. 分页

Limit与 Skip方法

聚合查询

聚合查询

顾名思义就是把数据聚起来,然后统计

常用管道:

$group将集合中的文档分组,用于统计结果
$match过滤数据,只要输出符合条件的文档
$sort聚合数据进一步排序
$skip跳过指定文档数
$limit限制集合数据返回文档数

常用表达式

$sum总和
$sum:1同count表示统计
$avg平均
$min最小值
$max最大值

优化索引

数据库中的索引

索引是一种排序好的便于快速查询的数据结构

作用:帮助数据库高效的查询数据

  1. 创建索引语法
  1. 删除索引语法
  1. 查看索引语法

权限机制

在DOS窗口直接输入命令就可以登录数据库

在实战工作中是不允许的

开启验证服务

指用户需要输入密码账号才能登录使用

  1. 添加超级管理员

    先终止数据库

    然后启动

use admin
db.createUser({
	"user":"账号",
	"pwd":"密码",
	"roles":[{
		role:"角色",
		db:"所属数据库",
	}]
})

  1. 脚下留心:DOS窗口必须用管理员身份运行
    在这里插入图片描述
  2. 安装需要验证身份的mongodb服务
输入命令: mongod --install --dbpath E:\code\mongodb\data 
--logpath E:\code\mongodb\logs\mongodb2.log --auth

启动服务

用超级管理员身份登录数据库

如果只输入mongodb就不能登入

如下图两种方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论