MongoDB更新文档

说明:来看一下关系型数据库的update语句

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某

其中where子句就类似查询文本,定位要更改的子表,set子句类似于修改器,更新哪些内容。

1.1文档替换

就是用一个新的文档完全替换匹配的文档。用于进行大规模模式数据的迁移。

例如:

如果要将friends和enemies两个字段迁移到relationships子文档中。可以进行如下操作

step1:

var joe=db.users.findOne({"name":"joe"})

joe.relationships={friend:joe.friends,enemies:joe.enemies}

同样的原理获取:

joe.username=joe.name;

然后删除原来文档中的friends,enemies,name

step2:更新文档

db.users.update({name:"joe"},joe)

解释一下:{name:"joe"}就是要更新的目标文档,joe就是修改器,说明要修改的内容

最后的joe文档内容:

1.2使用修改器

通常文档只会有有一部分数据要更新,可以使用原子性的更新修改器(update modifier),指定对文档中的某些字段进行修改。

假设:要在某个集合中存放网站的分析数据,只要有人访问页面,就增加计数器。可以使用更新器修改原子性地完成这个增加。

每次有人访问,就通过url找到该页面,并用"$inc"修改器来增加"pageviews"的值

>db.analytics.update({url:"www.example.com"},{"$inc":{pageviews:1}})

然后再执行一次db.analytics.find()

数据如下:

数据就增加1。实现了网站统计访问量的需求。。

时间: 2024-08-10 17:17:16

MongoDB更新文档的相关文章

【Mongodb教程 第八课 】MongoDB 更新文档

MongoDB的 update() 和 save() 方法用于更新文档的集合. update()方法更新现有的文档值,而替换现有的文档通过的文件中 save() 方法. MongoDB Update() 方法 update()方法更新现有文档值. 语法: update() 方法的基本语法如下 >db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA) 例子 考虑以下数据mycol集合. { "_id" : Objec

MongoDB 更新文档

MongoDB 使用 update() 和 save() 方法来更新集合中的文档.接下来让我们详细来看下两个函数的应用及其区别. update() 方法 update() 方法用于更新已存在的文档.语法格式如下: db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } ) 参数说明: que

Mongodb嵌套文档的修改-利用数组修改器更新数据

初学mongodb的可能和我一样有个疑问,mongodb是文档型的,那么如果一个文档嵌套另外一个文档,如果对这个嵌套文档进行增删改查呢. 就像如下这样:,如何对auther里面的name进行增删改查呢?这篇博客我们一起来看一下. 这里要用到几个修改器:$push,$pop,$pull 首先增加一个name: db.myFirstCollection.update({_id:1},{$push:{"auther":{"name":1}}}) 删除最后一个值,若要删除第

MongoDB的文档、集合、数据库(二)

为了理解MongoDB的名词,可以将其于关系型数据库进行对比: 一.文档 概述 文档是MongoDB的核心概念,是数据的基本单元,非常类似于关系数据库中的行.在MongoDB中,文档表示为键值对的一个有序集.MongoDB使用Javascript shell,文档的表示一般使用Javascript里面的对象的样式来标记,如下: {"title":"hello!"} {"title":"hello!","recomme

MongoDB数据库文档操作

前面的话 本文将详细介绍MongoDB数据库关于文档的增删改查 插入文档 要将数据插入到 MongoDB 集合中,需要使用 MongoDB 的 insert()或save()方法,还有insertOne()或insertMany()方法 [insert()] insert()命令的基本语法如下 db.COLLECTION_NAME.insert(document) 在插入的文档中,如果不指定_id参数,那么 MongoDB 会为此文档分配一个唯一的ObjectId._id为集合中的每个文档唯一的

MongoDB对文档的操作

插入文档 db.COLLECTION_NAME.insert({doc1},{doc2},...) e.g.:db.collection.insert({name:'123',age:12},{name:'cmn',sex:'male'}) 更新文档 db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATE_DATA) e.g.:db.COLLECTION_NAME.update({user_id:'2',email:'[email protecte

MongoDB 插入文档

MongoDB 插入文档 本章节中我们将向大家介绍如何将数据插入到MongoDB的集合中. 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下: db.COLLECTION_NAME.insert(document) 实例 以下文档可以存储在 MongoDB 的 runoob 数据库 的 c

mongodb 分布式文档存储数据库

简述: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型. Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. 在高负载的

mongodb查询文档

说到查询,我们一般就想起了关系型数据库的查询了,比如:order by(排序).limit(分页).范围查询(大于某个值,小于某个值..,in查询,on查询,like查询等待很多),同样mongodb同样也支持这些操作,只是语法不同,比如排序:mongodb里面使用了skip(field:1/-1)方法,下面就来一一介绍一下: 一.mongodb查询文档 1.查询文档之find() : 不加条件是查询集合全部的数据 语法:db.collectionName.find({条件},{field:tr