MongoDB 修改器
对文档中的某些字段进行更新
$inc
专门用来增加(或减少)数字的,只能用于整数,长整数或双精度浮点型的值$inc
键的值必须为数字,不能使用字符串,数组或其他非数字的值
如果键不存在,则创建它
1 |
db.user.update({}, {"$inc":{"age":1}}); |
$set
用来指定一个字段的值, 字段不存在则创建.
1 |
db.user.update({},{"$set":{"name":"mike"}}) |
$set
也可以用于改变键的类型
1 |
db.user.update({}, {"$set":{"name":["mike","wang"]}}) |
unset
用于删除一个键
1 |
db.user.update({},{"$unset":{"age":1}}) |
数组修改器
$push
如果数组已存在,添加元素到数组末尾,否则创建它
1 |
db.blog.update({}, {"$push":{"authors":"mike"}}) |
使用$each
添加多个值
1 |
db.blog.update({},{"$push":{"authors":{"$each":["mike", "wang"]}}}) |
限制数组的最大长度 ‘$slice’, 只包含最后加入的限制长度的元素,必须为负整数,$slice
相对于在文档中创建了一个队列
1 |
db.blog.update( |
$sort
对数组中的所有对象进行排序
1 |
db.blog.update( |
$slice
, $sort
必须配合 $each
与 $push
使用
$addToSet
保证数组中的元素不重复
1 |
db.user.update({},{"$addToSet":{"name":"mike"}}) |
与$each
组合添加多个元素
1 |
db.user.update({},{"$addToSet":{"name":{"$each":["mike", "wang"]}}}) |
$pop
从数组中删除元素,此时数组相当于队列或栈,只能从一端删除
1 |
// 从头部删除 |
$pull
删除所有匹配的文档
1 |
db.user.update({},{"pull":{"name": "mike"}}) |
数组操作符必须作用于包含数组值的键
基于位置的数组修改器
数组下标(从0开始)
1 |
db.blog.update({}, {"set":{"comments.0.name": "mike"}) |
## 定位操作符 $
1 |
db.blog.update( |
定位操作符只更新第一个匹配的元素
upsert
如果没有找到匹配的文档,那么以查询条件和更新文档为基础创建新的文档;找到则正常更新update
的第三个参数表示这是个upsert
1 |
db.user.update( |
setOnInsert
在创建文档时创建字段并赋值, 在更新的时候不做任何改变
1 |
db.user.update( |
更新多个文档, 指定update
的第四个参数为 true
findAndModify 返回被更新的文档
1 |
db.user.findAndModify({ |
update
和 remove
有且只有一个, 能与findAndModify
一起使用的字段有:
-
query
查询文档的条件 -
sort
排序的条件 -
update
文档更新 -
remove
删除文档,布尔类型 -
new
表示返回更新前还是更新后的文档,布尔类型,默认false, 更新前的文档 -
fields
文档中需要返回的字段 -
upsert
true为upsert, 默认false
转自http://wangming1993.github.io/2015/12/15/mongo-modifier/
mongodb修改器(转)的更多相关文章
-
mongodb修改器
mongodb修改器 转载自:http://blog.csdn.net/mcpang/article/details/7752736 mongodb修改器(\(inc/\)set/\(unset/\) ...
-
Mongodb更新数组$pull修饰符 (mongodb 修改器($inc/$set/$unset/$push/$pop/upsert))
mongodb 修改器($inc/$set/$unset/$push/$pop/upsert)) https://www.jb51.net/article/112588.htm http://bl ...
-
MongoDB修改器的使用1
为什么要使用修改器? 通常我们只会修改文档的一部分,这时候更新整个文档就显得很麻烦,通常是通过原子性的更新修改器来完成. 1."$set"修改器 "$set ...
-
MongoDB修改器总结
1"$set":用来制定一个字段值,若不存在,则创建: 一般用于点加一个字段 db.users.update({name:"joe"},{" ...
-
mongoDB 修改器()
-----------------------------------2016-5-26 15:56:57-- source:[1],MongoDB更新操作符
-
MongoDB修改器的使用2
1."$inc"的使用 主要用来增加数值,比如网站的访问量,点击量,流量等 db.games.insert({game:"pinball",user:" ...
-
mongodb的修改器
在mongodb中通常文档只会有一部分要更新,利用原子的更新修改器,可以做到只更新文档的一部分键值,而且更新极为高效,更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整.增加.或者删除键,还可以 ...
-
[转载]MongoDB的$inc修改器
MongoDB的$inc修改器相当于编程语言中的 “+=”“$inc”只能用于操作数值类型的数据,包括整数.长整数和双精度浮点数,用于其他类型的数据会导致操作失败. >db.users.find ...
-
MongoDB之修改器
MongoDB之修改器 $set 简单粗暴 {name: valuel} 直接将key对应的值赋值给value. db.xxoo.insert({}, {set: {key: value}}) / ...
随机推荐
-
loj 1379(最短路变形)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27087 思路:题目的意思是求S->T的所有路径中花费总和小于 ...
-
html+css—two
1.滚动字幕(不常用) 默认状态:<marquee>向左移动</marquee> //-- hspasc滚动区域height滚动字幕高度 <marquee height= ...
-
20150601_Andriod 打开新窗体
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="htt ...
-
《一课经济学》书摘笔记II
假设有位制衣商了解到,有种机器可以用以往一半的人力生产男式和女式大衣.于是,他购置了这种机器,并且裁掉了一半的员工.这位制衣商由于节省开支而获得了以前没有的利润.他从制衣工人直接工资那里节省下来的每一 ...
-
简单解析依赖注入(控制反转)在Spring中的应用
IoC——Inversion of Control 控制反转DI——Dependency Injection 依赖注入 大家都知道,依赖注入是Spring中非常重要的一种设计模式.可能很多初学者 ...
-
sqlcode、sqlerrm
Oracle里 非常有用的 两个变量,很少有人用. 标记一下
-
hdu 4614 Vases and Flowers 线段树
题目链接 一共n个盒子, 两种操作, 第一种是给出两个数x, y, 从第x个盒子开始放y朵花, 一个盒子只能放一朵, 如果某个盒子已经有了, 那么就跳过这个盒子放下面的盒子. 直到花放完了或者到了最后 ...
-
PAT (Advanced Level) 1015. Reversible Primes (20)
简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...
-
(二)Hololens Unity 开发之 语音识别
学习源于官方文档 Voice input in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (二)Hololens Unity 开发之 语音识别 Hol ...
-
蓝桥杯 求最大值 dp
这题很暴力的一个DP,d[i][j]表示前i个数对选择一些Ai的和为j的最大Bi和. 状态转移方程: dp[i][j]=max(dp[i][j],dp[i-1][j-sc[i].a]+sc[i].b) ...