常用的语句用的最多的无非就是增、删、改、查

MongoDB数据存储格式是bson,其实这种格式除了几个特殊的类型,其他的就是json的格式。所以部分数据显示可以用json格式化。在此推荐个网站可以格式化http://www.bejson.com/,虽然它要报json格式异常,但是格式还是转好了的

转换前:

转换后:

1.增

添加数据有3种方法:

1.insert

db.Client.insert({_id:new ObjectId(),Name:"xx",Sex:0,Created:new Date()});

_id可以不带,系统会自己给你加上,如果有特殊要求可以自己写

2.update

db.Client.update({ Name : "xxx" }, { $set : { Sex: 1 } }, { upsert : true });

如果Client表中没有 Name : "xxx"  的记录则会新加一条记录,如果有记录则更新 Sex: 1

upsert 为true的意思是如果没有找到对应的记录则添加,如果找到则更新。该参数默认情况下为false,则没有找到数据就不添加,也不更新

3.save

db.Client.save({Name:"xx",Sex:0,Created:new Date()});

添加时不用带_id,否则它会去更新_id对应的其他值

特别提醒:

new ObjectId()  是新建ObjectId的意思

new Date() 获取当前时间,系统默认的是0时区

2.删

remove

db.Client.remove({Name:"xxx"});

删除满足{Name:"xxx"}条件的所有数据

3.2里新加了2种新的删除方法

db.collection.deleteOne()    删除满足条件的第一个文档

db.collection.deleteMany()   删除满足条件的所有文档,执行之后会返回删除的个数  如:{ "acknowledged" : true, "deletedCount" : 3 }

这2种方法还没用过,先记录一下

3.改

修改数据有3种方法:

1.update

db.Client.update({Name:"xxx"},{$set:{Sex:0}},{multi:true})

查询条件:{Name:"xxx"}
修改项:{$set:{Sex:0}} 其中$set可以更换为其他修改器 $set为更新 $inc为累加($inc不能应用于非数字数据) $unset 删除指定的列
其他的$push $ne $addToSet $pop $pull 修改器还没仔细研究过,以后再来补充和细化
是否批量更新:{multi:true} 如果为false则只更新满足条件的第一个文档,为true则更新所有满足条件的

2.save

db.Client.save({_id:new ObjectId("574fa87df2e2723e85e624a3"),Name:"xx",Sex:0,Created:new Date()});

带上_id就可以更新指定id的所有列

特别提醒:

如果用save进行保存时少了Created列,那么更新后的数据就会没有Created列

3.findAndModify  更新并返回更新的数据

db.Client.findAndModify({query:{Sex:0},update:{$set:{Sex:1}}});

查询条件:query为键,查询条件为值,如上所示

修改项:update为键,修改列和项为值,如上所示,其中$set也可更换为其他修改器

需要注意的是,如果查询结果是多个,它只会更新满足条件的第一个文档并返回

4.查

一般比较常用的是find、findOne,下一篇详细来写

转载于:https://www.cnblogs.com/zp1287516153/p/5546301.html

MongoDB 基础相关(二) 常用语句相关推荐

  1. MYSQL相关学习-常用语句

    2019独角兽企业重金招聘Python工程师标准>>> 一.DDL(数据库定义语言) 1.1 创建数据的语句: CREATE DATABASE Test DEFAULT CHARAC ...

  2. python简单命令语句_python基础教程之[基础学习]MySQL常用语句命令总结|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来 ...

  3. MATLAB 基础笔记(二):常用矩阵的生成

    笔记二是简单介绍常用矩阵的生成 目录 笔记二是简单介绍常用矩阵的生成 1.零矩阵的生成 2.单位矩阵的生成 3.全1矩阵的生成 4.随机整数向量生成 5.生成指定对角线元素矩阵 6.生成对角矩阵 7. ...

  4. [Python学习] 专题二.条件语句和循环语句的基础知识

            前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括:         1.条件语句:包括单分支.双分支和 ...

  5. 二.了解zigbee协议栈中几个常用语句

    二.了解zigbee协议栈中几个常用语句 我在上一篇文章中说到过,zigbee作为一门通信技术,关键我们是要让它组起网来,虽然我们很多的实现还是用单片机的底板实现的:但要明白我们学习的核心在哪?在协议 ...

  6. 逗比的输入法实现(二):基础概念和常用接口

    为什么叫 Meow?因为这是给猫用的输入法... 目录 (一):基本情况 (二):基础概念和常用接口 (三):整体构架 (四):编辑和候选 (五):界面管理和无界面模式 (六):词库和候选算法 (七) ...

  7. Linux之常用基础指令二

    常用的Linux相关基础指令二 1.cat 功能:查看目标文件的内容 使用方法:cat [选项参数][文件] 常用选项参数: -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行 2 ...

  8. MySQL基础(二)查询语句知识点汇总

    查询语句知识点汇总 一.基础查询 二.条件查询 三.排序查询 四.常见函数 4.1 单行函数 4.1.1 字符函数 4.1.2 数学函数 4.1.3 日期函数 4.1.4 其他函数 4.1.5 流程控 ...

  9. MongoDB系列:二、MongoDB常用操作练习

    最近在自学MongoDB,在此记录一下,当做学习笔记了(不断更新中)!! 一.背景 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存 ...

最新文章

  1. python 3下对stm32串口数据做解析
  2. jquery遍历table
  3. 【BZOJ】1003: [ZJOI2006]物流运输trans(SPFA+DP)
  4. TSRC白帽子,10亿用户的守护者
  5. UTF-8, Unicode, GB2312格式串转换之C语言版
  6. mybatis的mapper接口与xml传参问题
  7. wrapper php,PHP流Streams、包装器wrapper概念与用法实例详解
  8. java 打印gc_java – 以编程方式打印启用GC日志记录时通常在JVM出口上打印的堆使用情况...
  9. CUTE FTP 控制连接已关闭
  10. 联想软件商店安装教程
  11. 五大主流浏览器的介绍
  12. Android仿人人客户端(转)
  13. 泰坦尼克号预测python_泰坦尼克号生存预测(python)
  14. java设置excel标题栏_Java EasyExcel写入Excel中复杂头(head)表中的标题的方法及示例代码...
  15. N个数全排列的第M个排列是?(全排列)
  16. 深入理解String、StringBuffer和StringBuilder类的区别
  17. 评论区抽奖程序2.0
  18. 什么是绿色工厂?申报绿色工厂对企业有什么好处?
  19. Scrapy爬虫,养眼图片实战
  20. 水果分选机设计(论文+CAD图纸+开题报告+任务书+文献综述+外文翻译) 水果果径大小分选机的设计

热门文章

  1. 漫步线性代数二十六——特征值和特征向量(续)
  2. mongodb模糊查询_MongoDB技术从0到1+
  3. selenium在eclipse中的使用(详细介绍)
  4. 任意两点间的最短路径
  5. 【004】vim 和 他的辅助工具们
  6. java用中点画圆法_OpenGL通过中点法绘制直线和圆
  7. mvc模式 mysql做网页_SpringMVC + Hibernate + MySQL 的简易网页搭建(Control实现篇)
  8. python 拟牛顿法 求非线性方程_C语言实现迭代法求非线性方程的根
  9. java gui 单选_JavaGUI――swing组件基础(三)JCheckBox/JRadioButton/ButtonGroup
  10. aspjpeg已过期_Persits.Jpeg.1错误’800a0004′ AspJpeg组件过期解决方法 - YangJunwei