MongoDB学习笔记(一)--基础
Insert
MongoDB在执行插入时,首先会将插入的数据转换成BSON格式。然后MongoDB数据库会对BSON进行解剖,并检查是否存在_id建。
>doc = {"_id" : 1,"author" : "yyd","title" : "MongoDB Test","text" : "this is a test","tags" : ["love","test"],"comments" : [{"author" : "yyd_guest","comment" : "yes"},{"author" : "yyd_admin","comment" : "no"}] }
> db.yyd.insert(doc);
Query
全部查找
返回除了 tags 字段外的所有字段
返回 tags = test 除了 comments 的所有列
返回 id=1 的 title 字段
- <, <=, >, >=
大于 $gt、小于 $lt、大于等于 $gte、小于等于 $lte
- $all
$all 操作类似$in 操作,但是不同的是,$all 操作要求数组里面的值全部被包含在返回的记录里面。
- $exists
$exists 操作检查一个字段是否存在。
$exists:true代表返回存在这个键的值。
$exists:false代表返回不存在这个键的值。
- $mod
> db.user.find("this._id%2==1"); > db.user.find({_id:{$mod:[2,1]}});
两句话一样的效果。
- $ne
$ne 意思是 not equal,不等于。
- $in
$in 操作类似于传统关系数据库中的 IN。
- $nin
$nin 跟$in 操作相反。
- $or
- $nor
$nor 跟$or 相反。
- $size
$size 操作将会查询数组长度等于输入参数的数组。
- skip
跳过前 2 条记录。
- limit
每页返回 3 条记录
- sort()
sort()方法对返回记录集按照指定字段进行排序返回,1 表示升序,-1 表示降序。
- count()
count()方法返回查询记录的总数目。
Remove
Update
- update()
db.collection.update( criteria, objNew, upsert, multi )
参数说明:
Criteria:用于设置查询条件的对象
Objnew:用于设置更新内容的对象
Upsert:如果记录已经存在,更新它,否则新增一个记录
Multi:如果有多个符合条件的记录,全部更新
注意:默认情况下,只会更新第一个符合条件的记录
- save()
如果存在更新它,如果不存在,新增记录。
- $inc
增加1,对int等有效。
对一个_id=3 的 user 的年龄进行加 1,两种方法。
- $set
{ $set : { field : value } }
把 field 的值设置成 value,当 field 不存在时,增加一个字段,类似 SQL 的 set 操作,value 支持所有类型。
- $unset
{ $unset : { field : 1} }
删除给定的字段 field。
- $push
{ $push : { field : value } }
如果 filed 是一个已经存在的数组,那么把 value 追加给 field;
如果 field 原来不存在,那么新增 field 字段,把 value 的值赋给 field;
如果 field 存在,但是不是一个数组,将会出错。
- $pushAll
{ $pushAll : { field : value_array } }
功能同$push,只是这里的 value 是数组,相当于对数组里的每一个值进行$push操作。
- $addToSet
{ $addToSet : { field : value } }
如果 filed 是一个已经存在的数组,并且 value 不在其中,那么把 value 加入到数组;
如果 filed 不存在,那么把 value 当成一个数组形式赋给 field;$pop
如果 field 是一个已经存在的非数组类型,那么将会报错。
- $pop
{ $pop : { field : 1 } }
删除数组中最后一个元素
{ $pop : { field : -1 } }
删除数组中第一个元素
- $pull
{ $pull : { field : _value } }
如果 field 是一个数组,那么删除符合_value 检索条件的记录;
如果 field 是一个已经存在的非数组,那么会报错。
- $pullAll
{ $pullAll : { field : value_array } }
- $rename
{ $rename : { old_field_name : new_field_name }
重命名指定的字段名称。
转载请注明出处:http://www.cnblogs.com/yydcdut/p/3557414.html
转载于:https://www.cnblogs.com/yydcdut/p/3557414.html
MongoDB学习笔记(一)--基础相关推荐
- MongoDB学习笔记(基础操作篇)
一.MongoDB相关概念 1.1 MongoDB相关概念 传统的关系型数据库(如MySQL),在数据操作的"三高"需求以及应对Web2.0的网站需求面前,显得力不从心. 解释:& ...
- MongoDB学习笔记(四)--索引 性能优化
索引 基础索引 ...
- MongoDB学习笔记(入门)
MongoDB学习笔记(入门) 一.文档的注意事项: 1. 键值对是有序的,如:{ "name" : "stephen", "genda" ...
- Docker:学习笔记(1)——基础概念
Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...
- MongoDB学习笔记【2】-- 试用
大部分内容根据MongoDB官方手册整理:http://docs.mongodb.org/manual/contents/ 查看数据库 [root@slayer ~]# mongo MongoDB s ...
- MongoDB学习笔记(四)使用Java进行实时监控与数据收集(空间使用量、连接数)
目录: MongoDB学习笔记(一)环境搭建与常用操作 MongoDB学习笔记(二)使用Java操作MongoDB MongoDB学习笔记(三)使用Spring Data操作MongoDB Mongo ...
- Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)
Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...
- MongoDB学习笔记(一) MongoDB介绍及安装
系列目录 MongoDB学习笔记(一) MongoDB介绍及安装 MongoDB学习笔记(二) 通过samus驱动实现基本数据操作 MongoDB学习笔记(三) 在MVC模式下通过Jq ...
- python input 拖入路径 去除转义 空格_python学习笔记(基础-2)(转载)
1.输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字. 2.输入 如果要让用户从电脑输入一些字符怎么办?Python提供了一个input(),可以让用户输入字符串,并存放到一个变 ...
- php基础教学笔记,php学习笔记:基础知识
php学习笔记:基础知识 2.每行结尾不允许有多余的空格 3.确保文件的命名和调用大小写一致,是由于类Unix系统上面,对大小写是敏感的 4.方法名只允许由字母组成,下划线是不允许的,首字母要小写,其 ...
最新文章
- Intellij IDEA的下载和使用(针对学生的免费使用计划)
- java和php混合_PHP和Java强强联合 集成开发详解
- rs485编程java_串行编程RS485
- Win10安装后必做的优化,解决磁盘100%占用
- leetcode 买卖股票的最佳时机 II
- 7.1 XHTML的规范化
- 微信公众帐号开发教程第8篇-文本消息中使用网页超链接
- hdu 3784 继续xxx定律
- linux网络子系统分析(三)—— INET连接建立API分析之bind listen
- 差分进化算法(python实现
- drupal简体中文语言包安装方法
- 万用表测试软件,最全的万用表使用方法看这里!
- 网络安装CentOS 7
- 学前端是去培训班还是自学好?
- 微商城支付开发(二)
- 某保险公司商业智能成功应用案例
- 保存tensor至本地文件
- 邀请码 inurl code.php,javascript-PHP注册邀请码
- 如何计算cuboid的数量
- python小游戏——Crazy Eights(纸牌游戏)
热门文章
- 70后存款100万,有房有车无贷款,每月租金1.5万,可以退休吗?
- 比利时女摄影师玛瑞亚
- RequestBody获取前端数据_360视频云Web前端HEVC播放器实践剖析
- 读取剪贴板英语转换为国际莫斯码
- linux grep -11,11个高级Linux字符类和括号表达式的grep命令
- java 限制参数类型_java定义受限制的类型参数操作
- c语言获取系统剩余内存_C语言编程中的“堆”和“栈”七大不同之处
- ubuntu 15.04 /var/log/下各个日志文件及修复无message文件和debug文件
- Anaconda3自带jupyter
- 初识单点登录及JWT实现