mongodb更新数据
来源:互联网 发布:杭州市大数据局 编辑:程序博客网 时间:2024/05/19 15:39
使用update()更新数据
db.collection.update(critera,objNEW,options)
updates函数接受3个参数:
- critera:指定查询,选择将要更新的文档;
- objNEW:指定更新信息,也可用操作符完成;
- options:指定更新文档时的选项,可选值有upsert和multi.
upsert:如果数据存在就更新,否则创建数据。
multi:指定是否更新所有匹配文档,或者只更新第一个匹配的文档(默认行为)。
db.media.find(){ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "DVD", "Title" : "Blade Runner", "Released" : 1982 }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
db.media.update({Title:'Blade Runner'},{Type:'Book',Title:'Wars and Peace'},{upsert:true})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.media.find(){ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "Book", "Title" : "Wars and Peace" }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
该更新操作替换原先的文档,并保存新的文档
设置字段的值
db.media.update({Title:'Wars and Peace'},{$set:{Released:2015}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
{ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "Book", "Title" : "Wars and Peace", "Released" : 2015 }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
删除指定的字段
db.media.update({Title:'Wars and Peace'},{$unset:{Released:2015}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.media.find(){ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "Book", "Title" : "Wars and Peace" }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
在指定的字段中添加某个值
通过$push操作符可以在指定字段中添加某个值。
* 如果该字段是个数组,该值将被添加到数组中;
* 如果该字段尚不存在,该字段的值将被设置为数组;
* 如果该字段存在,但不是数组,将会抛出错误。
db.media.update({Title:'Wars and Peace'},{$push:{Author:'Tony Stewie'}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.media.find(){ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "Book", "Title" : "Wars and Peace", "Author" : [ "Tony Stewie" ] }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
指定数组中的多个值
db.media.update({Title:'Wars and Peace'},{$push:{Author:{$each:['John Smith','Andy Fox']}}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.media.find(){ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "Book", "Title" : "Wars and Peace", "Author" : [ "Tony Stewie", "John Smith", "Andy Fox" ] }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
删除数组中第一个或最后一个元素
删除数组中最后一个元素
db.media.update({Title:'Wars and Peace'},{$pop:{Author:1}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
删除数组中第一个元素
db.media.update({Title:'Wars and Peace'},{$pop:{Author:-1}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
删除所有指定的值
db.media.update({Title:'Wars and Peace'},{$pull:{Author:'Tony Stewie'}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
删除数组中的多个值
db.media.find(){ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "Book", "Title" : "Wars and Peace", "Author" : [ "John Smith", "Tony Stewie" ] }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
db.media.update({Title:'Wars and Peace'},{$pullAll:{Author:['John Smith','Tony Stewie']}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.media.find(){ "_id" : ObjectId("585f822891c851f743fea7b5"), "Type" : "Book", "Title" : "Wars and Peace", "Author" : [ ] }{ "_id" : ObjectId("585f824d91c851f743fea7b6"), "Type" : "DVD", "Title" : "Tony Story3", "Released" : 2010 }{ "_id" : ObjectId("585f828391c851f743fea7b7"), "Type" : "DVD", "Title" : "Matrix", "Released" : 1999 }
0 0
- MongoDB数据更新
- [MongoDB]Update更新数据
- mongodb基础数据更新
- mongodb更新数据
- Mongodb更新数据
- Mongodb 更新数据
- Mongodb查询数据 更新数据
- 第三课 MongoDB 数据更新
- MongoDB数据插入、删除、更新
- MongoDB JAVA API更新数据示例
- MongoDB JAVA API更新数据示例
- MongoDB JAVA API更新数据示例
- mongodb源码分析(十二)数据的更新
- Mongodb数据更新命令、操作符
- MongoDB数组修改器更新数据
- MongoDB JAVA API更新数据示例
- MongoDB数组修改器更新数据
- mongoDB的基本操作之数据更新
- OJ 1997: C语言实验——分割整数
- 百度地图开发(一)
- 谭浩强魔方阵看不明白的同学看这里
- 图片压缩
- JNA方式调用dll动态库
- mongodb更新数据
- ZOJ 2334 可并堆<斜堆>
- 基于 base64_encode的加密算法
- 利用matlab对彩色图像打马赛克
- 2016 年 7 个最佳的 Java 框架
- iOS手势
- android 事件分发机制源码解析
- 【ife】任务十三:零基础JavaScript编码(一)
- 第二行代码第二章笔记