由于发现mongo更新太快,跟我之前所学有很多差异;尤其是聚合操作,比较早的版本只有group和mapreduce两个函数,不支持avg、max、min、sum这些操作,现在除了增加了这些常用操作以外还提供了更加丰富的聚合功能。
从这一篇开始将按照这个url里面的内容介绍:http://docs.mongodb.org/manual/reference/operator/。
撰写博客的顺序按照第二个页面里面的操作符字母顺序,将分别按照增、删、改、查、聚合四个主题更新博客文章。
在介绍到某个操作关键字时如果相关必要的方法还没有介绍,就插入一篇介绍这个方法的博文。
比如说第一个要介绍的是$addToSet,这个操作符,但是它只能用于update操作,而update在之前的博文中还没有介绍过,于是这一篇就介绍下update的相关参数。下一篇再介绍$addToSet
db.COLLECTION_NAME.update({},{},true|false,true|false);
第一个参数是查询选择器,与findOne的参数一样,相当于sql的where子句
第二个参数是更新操作文件,由各种更新操作符和更新值构成,
第三个参数是upsert。如果是true,表示如果没有符合查询选择器的文档,mongo将会综合第一第二个参数向集合插入一个新的文档。
第四个参数是multi。true:更新匹配到的所有文档,false:更新匹配到的第一个文档,默认值
第三第四个参数也可以合并成一个:
db.COLLECTION_NAME.update({},{},{multi:true|false,upsert:true|false});
拥有类似事务特性的更新与查询操作——findAndModify.
非常奇怪的是,在上面的链接里面没有找到这个函数的定义。
它是原子性的,会返回符合查询条件的更新后的文档。
一次最多只更新一个文档,也就是条件query条件,且执行sort后的第一个文档。
db.COLLECTION_NAME.findAndModify({query:{},
update:{},
remove:true|false,
new:true|false,
sort:{},
fields:{},
upsert:true|false});
query是查询选择器,与findOne的查询选择器相同
update是要更新的值,不能与remove同时出现
remove表示删除符合query条件的文档,不能与update同时出现
new为true:返回个性后的文档,false:返回个性前的,默认是false
sort:排序条件,与sort函数的参数一致。
fields:投影操作,与find*的第二个参数一致。
upsert:与update的upsert参数一样。
不论是update的第二个参数,还是findAndModify的update,在不指定更新操作符的情况下,将会用指定的新值替换旧值。
比如,
use iteye;
db.blog.update({_id:ObjectId('......')},{title:'new title'});
//上面的操作就把指定_id的文档的标题改成了‘new title’
如果指定了更新操作符,就可以实现更复杂灵活的更新操作。可以通过更新操作符,增加或减少数值,针对数组类型的属性,做类似队列或栈的操作。单从这一点来说,mongo要比sql数据库强大的多了。
$addToSet:http://runfriends.iteye.com/blog/1830751
相关推荐
windows下mongo客户端,MongoVUE-1.6.9 & 破解文件
mongo-java-driver-3.4.1.jar spring-data-commons-1.10.0.RELEASE.jar spring-data-commons-core-1.4.1.RELEASE.jar spring-data-mongodb-1.7.0.RELEASE.jar mongodb.xml mongodb.properties 补充说明:mongo服务器...
Noteet的后端记事本应用程序的后端 :person_tipping_hand: ,由expressjs制作如何使用叉它克隆它创建一个mongodb集群/数据库添加一个.env文件并插入: MONGO_USER = <在这里输入来自mongodb服务器的用户名> MONGO...
MONGO_CONNECTION_STRING = mongodb + srv:// $ {MONGO_USER}:$ {MONGO_PSW} @ $ {MONGO_SERVER} / $ {MONGO_DB}?retryWrites = true&w = majority ACCESS_TOKEN_SECRET = <在此处输入一个有助于您生成
安装 Mongo: brew update && brew install mongodb 安装 NPM: brew install npm 运行服务器 First, start the database locally, run 'mongod --dbpath ~/dev/db', where ~/dev/db is the location of the ...
mongodb_exporter监控 https://github.com/dcu/mongodb_exporter.git 下19年4月的编译结果文件 编译很麻烦 ,注意修改文件的可执行权限
阿里mongo同步工具mongo-shake正是为了解决这些问题而设计的。 Mongo-shake 是阿里巴巴开发的一款高效、稳定且易于使用的MongoDB数据迁移工具,主要用于实现MongoDB集群之间的数据同步。它支持全量数据迁移和增量...
Spring-Vue-Mongo-Crud Spring&Vue&MongoDB CRUD操作 执照 MIT License Copyright (c) 2021 Nejdet Kadir Bektaş Permission is hereby granted, free of charge, to any person obtaining a copy of this ...
PHP为了方便开发者与MongoDB数据库打交道,提供了专门的MongoDB扩展——php_mongo。本文将详细介绍标题为"php_mongo_5.2.6.6"的扩展,它是专为PHP 5.2.6版本设计的一个重要组件。 一、php_mongo扩展简介 php_mongo...
`mongo::Update`和`mongo::Remove`类分别用于构造更新和删除操作。你可以根据条件选择性地更新或删除文档。 #### 7. 索引与性能优化 `mongo::IndexSpec`用于定义索引,通过`collection.ensureIndex(index)`创建索引...
在 Scala 中与 MongoDB 进行交互,通常我们会使用 `mongo-scala-driver`,而不是 `mongo-java-driver`,因为 Scala 驱动提供了更符合 Scala 语言特性的 API 设计。本示例将详细介绍如何使用 `mongo-scala-driver` ...
- **更新(Update)**:使用`updateFirst()`, `updateMultiplte()`或`replaceOne()`进行文档更新,可以配合Update对象定义更新操作。 - **删除(Delete)**:`remove()`, `deleteOne()`, `deleteAll()`用于删除...
用户可以直接在界面上编写和执行MongoDB查询语句,如`find()`, `update()`, `insert()`, 和 `delete()`。 4. 文档编辑:对于单个文档,插件提供了一个编辑器,允许用户以键值对的形式修改数据,同时也支持JSON格式...
mongoVUE.1.6.9.破解文件,解压后覆盖安装目录中的MongoVUE.exe文件 安装文件下载地址:http://www.mongovue.com/downloads/
MongoVUE还提供了丰富的命令行工具,如`db.collection.insert()`, `db.collection.find()`, `db.collection.update()`等,以满足不同需求。 5. **索引管理**:对于优化查询性能,MongoVUE允许用户创建、查看和删除...
mongo docker 镜像
如果你知道要更新的字段,可以使用`MongoRepository`提供的`update`方法,直接对特定字段进行修改,而无需先加载整个文档。例如: ```java userRepository.updateFirst( Query.query(Criteria.where("id").is(...
使用update-mongo界面,您可以轻松地为mongo shell编写脚本并在代码执行期间运行它们。 update-mongo允许您运行MongoDB的更新脚本,而无需与进行交互。 这是MIT许可下的一个开源项目,有关更多信息,请参见 。 跳...
"MongoDB 使用 MongoTemplate 实现统计和分组" MongoDB 是一个非常流行的 NoSQL 数据库,它可以存储大量的数据,但是有时候我们需要对这些数据进行分析和利用。在本文中,我们将介绍如何使用 MongoTemplate 实现...
MongoVUE是一款强大的MongoDB数据库管理系统,专为简化MongoDB的可视化操作而设计。它提供了一个直观的图形用户界面(GUI),使得数据库的管理和数据操作变得更加便捷,尤其适合那些不熟悉命令行界面或者希望提高...