记录一下平时使用的mg查询语句,省的忘了

## 插入语句

```
db.mg_crm_user.insertOne({});
db.mg_crm_user.insertMany([{},{}],{ordered:true})  // ordered 就是插入的文档需要顺序
db.mg_crm_user.save();
db.mg_crm_user.insert();//可以插入多个 也可以插入一个
db.mg_crm_user.insertOne({_id:{userId:1,type:0}});  插入的时候可以自定义主键,这种就是复合主键
```

## 查询操作

```
db.mg_crm_user.find();
db.mg_crm_user.find({userType:1},{userType:1}); 第一个参数指定 查询条件 第二个参数指定返回值的映射 就是返回什么字段】
```

## 普通操作符

```
db.mg_crm_user.find({userType:{$ne:1}})  带操作符的操作全部同理
db.mg_crm_user.find({userType:{$in:[1,2]}})  in操作符 里面是一个数组
db.mg_crm_user.find({userType:{$not:{$lt:1}}},{userType:1}) not操作里面要是一个表达式 语法: { field: { $not: { <operator-expression> } } }
```

##  and的写法

```
db.mg_crm_user.find({_id:1},{orders:'1234'});
db.mg_crm_user.find({$and:[{_id:1},{orders:'1234'}]})
db.mg_crm_user.find({_id:{$gt:1,$lt:2}}) 同一个字段的and操作
```

## or操作符

```
db.mg_crm_user.find({$or:[{_id:1},{_id:2}]})
```

## nor 操作符  都不满足的意思

```
db.mg_crm_user.find({$nor:[{_id:1},{_id:2}]}) 都不满足 id=1 和id=2 就是同时不满足这些条件
```

## $exists 包含字段 查询这个字段是否存在

```
db.mg_crm_user.find({_id:{$exists:true}})
```

## $type 字段类型

db.mg_crm_user.find({_id:{$type:"long"}})

## 数组操作符
all操作符 全部元素满足查询条件 同时有查询条件中的值

```
db.mg_crm_user.find({orders:{$all:["aa","bb"]}})
```

## $elemMatch 同时满足这两个表达式

```
db.mg_crm_user.find({orders:{$elemMatch:{$gt:1,$lt:2}}})
```

## 二者同时使用

```
db.mg_crm_user.find({orders:{$all:[
{$elemMatch:{$gt:"1000",$lt:""}},
{$elemMatch:{$gt:"1000",$l:"2222"}}
]}})
```

## $regex 正则表达式语法

```
db.mg_crm_order.find({goodsName:{$in:[/^a/,/^v/]}})db.mg_crm_order.find({goodsName:{$regex:/LIE/,$options:'i'}}) //正则表达式匹配  有lie的商品名称  后面那个字段的意思就是忽略大小写
```

## 分页操作

db.mg_live_gather_data.find({"type":5}).limit(10).skip(1);

## 排序操作

```
db.mg_live_gather_data.find().sort({type:1}) // 1 升序排序  -1 降序排序
```

## 投影文档

```
db.mg_live_gather_data.find({},{type:1}) //只返回 type字段
```

## 更新文档

```
db.<collections>.update(<query>,<update>,<options>)
```

## 这里面的 update需要文档的所有内容 粘贴过来
更新一个字段

```
db.mg_crm_user.update({_id:2289},{$set:{saleProgress:4}})
db.mg_crm_user.update({_id:2289},{$set:{"orders.1":4}}) //更新数组中的一个元素
```

## 删除一个字段

```
db.mg_crm_user.update({_id:2289},{$unset:{saleProgress:""}})
```

## 重命名字段

```
db.mg_crm_user.update({_id:2289},{$rename:{saleProgress:"aaa"}})
```

当名称新的名称存在的时候回覆盖原来的名称  就是会先执行 $unset 原来的名称 之后再 set新字段
## 加法和乘法

```
db.mg_crm_user.update({_id:2289},{$inc:{saleProgress:1}})
db.mg_crm_user.update({_id:2289},{$mul:{saleProgress:1}})
```

## 取最大的值和最小的值

```
db.mg_crm_user.update({_id:2289},{$min:{saleProgress:1}})
db.mg_crm_user.update({_id:2289},{$max:{saleProgress:1}})
```

数组更新操作符

$addToSet 向数组中增添元素

$pop 从数组中移出元素

$pull 从数组中有选择新的移出元素

$pullAll 从数组中选择性的移出元素

$push 向数组中增添元素

mg常用的语句 增删改查相关推荐

  1. GridView的常用操作(增删改查)

    GridView的常用操作(增删改查) void BindData()         {             string sql = "select top 10 ID,jobno, ...

  2. c mysql 添加数据类型_MYSQL的常用命令和增删改查语句和数据类型

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...

  3. ​MYSQL中常用的SQL语句​(增删改查)

    MYSQL中常用的SQL语句 一.增删改查 1.新增 指定字段插入: INSERT INTO <表名> (<字段1>, <字段2>, <字段3>) VA ...

  4. mysql查询和修改一个命令_MYSQL的常用命令和增删改查语句

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...

  5. SQL语句(增删改查)

    个人感觉SQL语句不用刻意的去记忆,多使用,用到的时候忘记了就查找一下,使用的频繁,自然就记住了. SQL语句使用:数据库操作SQL.数据表操作SQL.数据记录操作SQL (一)数据库SQL 1.创建 ...

  6. php pdo 更新sql语句,增删改查sql语句及PDO数据库连接操作流程实例-2019年7月24日...

    一.增删改查sql语句语法: 增: INSET INTO `表名` SET `字段名`=值 (也可写别名用,值前面加冒号->:别名): 删: DELETE FROM `表名`  WHERE `字 ...

  7. mysql 原生 添加数据_手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  8. SQL语句增删改查公司-员工3表典型案例

    基础原生SQL增删改查,一般公司业务表,必知必会基础流程! 程序开发之大法,从数据库开始,不管是sqlserver,Oracle数据库还是其他MySQL等等的数据库.都是从写SQL语句开始.需要您必知 ...

  9. SQL语句增删改查/高级查询

    有道笔记查看常用sql语句 sql高级查询语句 SQL语句规范 分号结尾 关键词大小写不区分 创建/删除数据库 创建:CREATE DATABASE 数据库名 ysj_example; 删除:DROP ...

最新文章

  1. VMware Workstation安装64位操作系统遇到的小问题
  2. delphi7升级delphi2007可以互用马_奶爸带娃玩“升级版摇摇马”火了,像极了传说中的“甘为孺子牛”...
  3. if中加return_答应我,别再 if/else 走天下了可以吗?
  4. Zookeeper的概述
  5. java创建子类对象的步骤_一通Spring骚操作:我敢说没人比我更懂Java对象创建
  6. 【大数据新手上路】“零基础”系列课程--MySQL 数据整库迁移到 MaxCompute
  7. Visual Studio可视化IDE风格主题参照
  8. java业务类_Java_业务层开发
  9. php写入word文档内容,如何在PHP中读取和写入WORD文档
  10. Android攻城狮——五布局
  11. WPF教程(四) Hello,WPF!
  12. STL 格式解析--文本以及二进制格式
  13. 迪杰斯特拉算法c语言6,迪杰斯特拉算法C语言实现
  14. php strtok函数,strtok函数的使用示例
  15. dx12 龙书第五章学习笔记 -- 渲染流水线
  16. 使用HTML批量拼图
  17. Docker:架构分解
  18. jQuery如何向HTML添加指定的内容
  19. 首次去中心化抢劫?近2亿美元损失:跨链桥Nomad 被攻击事件分析
  20. Phpstudy 错误总结

热门文章

  1. Hook API 原理 解析
  2. 增强世界沟通的十大软件
  3. 有源低通滤波器 vs. 有源带通滤波器 vs. LC滤波器
  4. 一些metalink文章
  5. c盘gnway是什么文件_壹拓网科技详解金万维天联标准版软件下载安装登录流程
  6. 腾讯云服务器设置可访问ip
  7. 互联网大佬学历背景大揭秘,看有没有你校友
  8. 【越狱开发】《我叫MT online》开源辅助工具
  9. 关于win7中HP LaserJet 1022n网络打印机重复打印的问题解决
  10. 详解C语言自定义类型(结构体,位段,枚举,联合)