MongoDB 基础相关(二) 常用语句
常用的语句用的最多的无非就是增、删、改、查
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 基础相关(二) 常用语句相关推荐
- MYSQL相关学习-常用语句
2019独角兽企业重金招聘Python工程师标准>>> 一.DDL(数据库定义语言) 1.1 创建数据的语句: CREATE DATABASE Test DEFAULT CHARAC ...
- python简单命令语句_python基础教程之[基础学习]MySQL常用语句命令总结|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ 前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来 ...
- MATLAB 基础笔记(二):常用矩阵的生成
笔记二是简单介绍常用矩阵的生成 目录 笔记二是简单介绍常用矩阵的生成 1.零矩阵的生成 2.单位矩阵的生成 3.全1矩阵的生成 4.随机整数向量生成 5.生成指定对角线元素矩阵 6.生成对角矩阵 7. ...
- [Python学习] 专题二.条件语句和循环语句的基础知识
前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括: 1.条件语句:包括单分支.双分支和 ...
- 二.了解zigbee协议栈中几个常用语句
二.了解zigbee协议栈中几个常用语句 我在上一篇文章中说到过,zigbee作为一门通信技术,关键我们是要让它组起网来,虽然我们很多的实现还是用单片机的底板实现的:但要明白我们学习的核心在哪?在协议 ...
- 逗比的输入法实现(二):基础概念和常用接口
为什么叫 Meow?因为这是给猫用的输入法... 目录 (一):基本情况 (二):基础概念和常用接口 (三):整体构架 (四):编辑和候选 (五):界面管理和无界面模式 (六):词库和候选算法 (七) ...
- Linux之常用基础指令二
常用的Linux相关基础指令二 1.cat 功能:查看目标文件的内容 使用方法:cat [选项参数][文件] 常用选项参数: -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行 2 ...
- MySQL基础(二)查询语句知识点汇总
查询语句知识点汇总 一.基础查询 二.条件查询 三.排序查询 四.常见函数 4.1 单行函数 4.1.1 字符函数 4.1.2 数学函数 4.1.3 日期函数 4.1.4 其他函数 4.1.5 流程控 ...
- MongoDB系列:二、MongoDB常用操作练习
最近在自学MongoDB,在此记录一下,当做学习笔记了(不断更新中)!! 一.背景 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存 ...
最新文章
- python 3下对stm32串口数据做解析
- jquery遍历table
- 【BZOJ】1003: [ZJOI2006]物流运输trans(SPFA+DP)
- TSRC白帽子,10亿用户的守护者
- UTF-8, Unicode, GB2312格式串转换之C语言版
- mybatis的mapper接口与xml传参问题
- wrapper php,PHP流Streams、包装器wrapper概念与用法实例详解
- java 打印gc_java – 以编程方式打印启用GC日志记录时通常在JVM出口上打印的堆使用情况...
- CUTE FTP 控制连接已关闭
- 联想软件商店安装教程
- 五大主流浏览器的介绍
- Android仿人人客户端(转)
- 泰坦尼克号预测python_泰坦尼克号生存预测(python)
- java设置excel标题栏_Java EasyExcel写入Excel中复杂头(head)表中的标题的方法及示例代码...
- N个数全排列的第M个排列是?(全排列)
- 深入理解String、StringBuffer和StringBuilder类的区别
- 评论区抽奖程序2.0
- 什么是绿色工厂?申报绿色工厂对企业有什么好处?
- Scrapy爬虫,养眼图片实战
- 水果分选机设计(论文+CAD图纸+开题报告+任务书+文献综述+外文翻译) 水果果径大小分选机的设计
热门文章
- 漫步线性代数二十六——特征值和特征向量(续)
- mongodb模糊查询_MongoDB技术从0到1+
- selenium在eclipse中的使用(详细介绍)
- 任意两点间的最短路径
- 【004】vim 和 他的辅助工具们
- java用中点画圆法_OpenGL通过中点法绘制直线和圆
- mvc模式 mysql做网页_SpringMVC + Hibernate + MySQL 的简易网页搭建(Control实现篇)
- python 拟牛顿法 求非线性方程_C语言实现迭代法求非线性方程的根
- java gui 单选_JavaGUI――swing组件基础(三)JCheckBox/JRadioButton/ButtonGroup
- aspjpeg已过期_Persits.Jpeg.1错误’800a0004′ AspJpeg组件过期解决方法 - YangJunwei