MongoDB学习记录(四) - MongoDB的"增查改删"操作之"改"
更新文档主要有以下几种方法:
db.collection.updateOne(filter, update, options)
db.collection.updateMany(filter, update, options)
db.collection.replaceOne(filter, update, options)
另外MongoDB提供了更新运算符,更加方便我们进行文档的更新。其使用方法如下:
{
update operator: { field1: value1, ... },
update operator: { field2: value2, ... },
...
}
其中有一些更新运算符,比如$set,当它所设置的字段不存在时,将会新增这个字段
更新一个文档
db.collection.updateOne(
{ item: "paper"},
{
$set: {"size.uom": "cm", status: "P"},
$currentData: {lastModified: true}
}
)
以上方法将会更新匹配到的第一个item字段值为"paper"的文档,$set运算符会将size.uom字段的值设置为"cm",status字段的值设置为"P"。$currentData运算符会将lastModified字段设置为当前时间,如果这个字段不存在,将新增这个字段
更新多个文档
如果将上述方法中的updateOne()改为updateMany(),则可以更新匹配到的所有文档
替换一个文档
如果想替换一个文档,用于替换的文档(即第二个参数)必须全有field: value对组成,不能包含更新运算符
MongoDB学习记录(四) - MongoDB的"增查改删"操作之"改"的更多相关文章
- MongoDB学习记录(二) - MongoDB的"增查改删"操作之"增"
如果做插入文档操作的集合不存在,那么集合将被创建 db.collection.insertOne() insertOne为collection插入一条文档,如果文档的_id字段未指定,MongoDB会 ...
- MongoDB学习记录(三) - MongoDB的"增查改删"操作之"查"
查找使用的方法: db.collection.find() 查找所有文档 db.collection.find({})或者db.collection.find({}) 指定键值对 db.collect ...
- Mongodb学习笔记四(Mongodb聚合函数)
第四章 Mongodb聚合函数 插入 测试数据 ;j<;j++){ for(var i=1;i<3;i++){ var person={ Name:"jack"+i, ...
- MongoDB学习记录
一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...
- Mongodb学习笔记一(Mongodb环境配置)
Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...
- leveldb 学习记录(四)Log文件
前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtablelevel ...
- JavaScript学习记录四
title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- 4.VUE前端框架学习记录四:Vue组件化编码2
VUE前端框架学习记录四:Vue组件化编码2文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...
- ElasticSearch 学习记录之ES几种常见的聚合操作
ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...
随机推荐
- visual studio 2013 几个测试工具(Nunit 3、xUnit)
一.Nunit 3 1.在解决方案里添加一个类库——引用——右键(如下图)) 3.搜索nunit 并安装(如图) 3.注意引入命名空间并给测试类和测试方法添加特性(如图) 4.如果测试通过则为绿色(如 ...
- random模块的学习
import random # ret = random.random() #随机取0-1中间的浮点数 # ret = random.randint(1,3) #随机取1-3中间的整数 # ret = ...
- 没有upcast 也不会发生多态
class A{ public: virtual void f(){ cout << "A::f()"<<endl;} }; class B:public ...
- linux查看指定时间段的日志
不需要tail命令,直接 grep '2018-04-22 12:3[2-9]' tesl.log: 这就是查询指定文件的2018-04-22 12点32分到39分的日志
- MySQL 还原
## sql 还原:mysql -default-character-set=utf8 -h127.0.0.1 -uroot -pxxxxxx test2 < /data/test/db/201 ...
- 基础算法简单实现-python
目录 Python(版本3.6+)-Anna-Lena Popkes
- 使用百度ocr接口识别验证码
#!/usr/bin/env python #created by Baird from aip import AipOcr def GetCaptchaV(filename): APP_ID = ' ...
- 《DOM Scripting》学习笔记-——第九章 CSS-DOM
本章内容: 一.style属性 二.如何检索样式信息 三.如何改变样式 属性: 包含位置信息:parentNode , nextSibling , previousSibling , childNod ...
- 在docker集群下,使用VNC,物理机器重启后VNC失败解决
首先重装咯: sudo apt-get update sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon met ...
- cuts
1.cuts .replacename.fasta..replacename.fasta..replacename.fasta.cut.list awk 'system("mv Dme49. ...