`

mongodb 常用语句(更新操作)

阅读更多

一、update()命令

 

db.collection.update( criteria,objNew,upsert,multi )

 

criteria:update的查询条件,类似sql update查询内where后面的

objNew :update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的

upsert :这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

multi  :mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

 

例:

db.app.update({"downlaod_count":2},{$set:{"name":"OK"}},false,true);

db.app.update({"download_count":{$gt:1}},{$set:{"name":"OK"}}); 只更新了第一条记录

db.app.update({"download_count":{$gte:3}},{$set:{"name":"OK"}},false,true ); 全更新了

db.app.update({"download_count":{$lt:4}},{$set:{"name":"OK"}},true,false ); 只加进去了第一条

db.app.update({"download_count":{$lte:5}},{$set:{"name":"OK"}},true,true ); 全加进去了

db.app.update({"download_count":{$in:[1,2,3]}},{$inc:{"download_count":1}},false,true );全更新了

db.app.update({"download_count":{$nin:[1,2,3]}},{$inc:{"download_count":1}},false,false );只更新了第一条

 

 

二、mongodb的更新操作符:

 

1) $inc

用法:{ $inc:{field:value}} 对一个数字字段field增加value

db.app.update({"id":15},{$inc:{"download_count":1}});

db.app.update({"id":15},{$inc:{"download_count":-1}});

 

2) $set

用法:{ $set:{field:value}} 相当于sql的set field = value,全部数据类型都支持$set

db.app.update({"id":15},{$set:{"test1":"testv1","name":"testv2","test3":"testv3","test4":"testv4"}});

 

3) $unset

用法:{ $unset:{field:1}} 删除字段了

db.app.update({"id":15},{$unset:{"test1":1}});

 

4) $push

用法:{ $push:{field:value}}

把value追加到field里面去,field一定要是数组类型才行,如果field不存在,会新增一个数组类型加进去

db.app.update({"id":15},{$set:{"test1":["aaa","bbb"]}});

db.app.update({"id":15},{$push:{"test1": "ccc"}});

db.app.update({"id":15},{$push:{"name": "ccc"}});

db.app.update({"id":15},{$push:{"test1": ["ddd","eee"]}});

 

5) $pushAll

用法:{ $pushAll:{field:value_array}}

同$push,只是一次可以追加多个值到一个数组字段内

db.app.update({"id":15},{$pushAll:{"test1": ["fff","ggg"]}});

 

6) $addToSet

用法:{ $addToSet:{field:value}}

增加一个值到数组内,而且只有当这个值不在数组内才增加。例:

db.app.update({"id":15},{$addToSet:{"test1": {$each:["444","555"]}}});

db.app.update({"id":15},{$addToSet:{"test1": ["444","555"]}});

 

7) $pop

用法:

删除最后一个值:{ $pop:{field:1}}删除第一个值:{ $pop:{field:-1}}

 

注意,只能删除一个值,也就是说只能用1或-1,而不能用2或-2来删除两条。mongodb 1.1及以后的版本才可以用,例:

 

8) $pull

用法:$pull:{field:value}}

从数组field内删除一个等于value值。例:

> db.app.update({"id":15},{$pull:{"test1": "ggg"}});

 

9) $pullAll

用法:{ $pullAll:{field:value_array}}

同$pull,可以一次删除数组内的多个值

db.app.update({"id":15},{$pullAll:{"test1": [ "ccc","fff" ]}});

 

9) $rename

用法:{ $rename:{field:new_filed}}

重命名字段

db.app.update({"id":15},{$rename:{"test1":"bat" }});

 

 

分享到:
评论

相关推荐

    MongoDB常用SQL操作

    以下是一些关于MongoDB常用SQL操作的关键知识点: 1. **数据模型**:MongoDB基于JSON(JavaScript Object Notation)格式的文档存储数据,这使得它能够存储复杂的数据结构,如嵌套对象和数组。 2. **连接MongoDB**...

    MongoDB常用SQL操作.pdf

    在MongoDB中,常用的操作语句可以分为数据定义语言(DDL)和数据操纵语言(DML)。 **DDL操作:** 1. 创建集合(表) - 语法:`db.createCollection("collectionName")` - 实例:创建一个名为`user2`的集合,...

    MongoDB和Mysql常用增删改查语句

    ### MongoDB和MySQL常用增删改查语句 #### MongoDB 常用操作 **一、分组统计** 在处理大量数据时,分组统计是非常重要的一个功能。通过使用`$group`聚合阶段,我们可以根据特定字段对数据进行分组,并计算各组的...

    MongoDB中的常用语句总结大全

    本文将深入探讨MongoDB中的一些常用语句,包括删除、查询、批量操作和文档关系管理。 ### 1. 删除语句 在MongoDB中,删除语句主要用于移除集合中的文档。以下是一些常见的删除操作: - `db.collection.deleteOne...

    Mongodb常用命令和java调用

    MongoDB 使用C++编写,支持多种操作系统,并提供了丰富的查询语言,类似于面向对象的查询,允许执行类似关系数据库的单表查询操作,还支持建立索引来提升查询效率。此外,MongoDB 支持动态模式,即schema-free,这...

    MongoDB常用操作汇总

    集合名称.updateMany()`,可以指定更新条件和更新操作,如`db.collection.updateOne({name: "jack"}, {$set: {age: 25}})`。 10. **删除集合**: 使用`db.dropCollection("集合名称")`命令可以删除集合,如`db....

    MongoDB与MySQL常用操作语句对照

    本篇文章将对比这两种数据库中常用的操作语句,帮助读者理解和掌握两者之间的差异。 1. 查询数据: - MySQL 使用 `SELECT * FROM user` 获取所有用户信息,而 MongoDB 使用 `db.user.find()`。 - MySQL 的 `...

    MongoDB数据库常用操作命令7.pdf

    本文将深入探讨在MongoDB中执行常见操作命令,这些命令对于数据库管理和开发至关重要。 首先,我们来看一下如何查询数据。在MongoDB中,我们可以使用`find()`方法来查找满足特定条件的文档。例如,如果我们想要找到...

    Mongodb Java操作实例代码+windows安装包+jar包+ROBO可视化工具

    2. **数据库操作**:支持对MongoDB的常用操作,如创建、删除数据库和集合,导入导出数据,执行查询语句等。 3. **性能监控**:提供实时的性能指标,帮助分析和优化MongoDB的运行状态。 4. **脚本编辑**:支持编写和...

    mongodb3.4.5及robo3t-1.2.1(64位)

    7. **CRUD 操作**:创建(Create)、读取(Read)、更新(Update)和删除(Delete)是 MongoDB 常用的基本操作。 在 Robo 3T 中,你可以执行以下操作: - **连接到 MongoDB 实例**:输入服务器地址、端口、认证...

    用mybatis 的sql语句操作mongodb的简易方案.zip

    动态SQL可以让开发者构建更灵活、高效的数据库操作语句,因为他们可以根据实际需要创建出更加精确和优化的SQL语句。Mabits的动态SQL还允许开发者使用参数化查询,可以防止SQL注入攻击,并增强程序的安全性 学习经常...

    Java操作MongoDB数据库示例分享

    Java是常用的编程语言,用于与MongoDB交互,提供了丰富的驱动程序库,如Java MongoDB驱动程序,使得开发人员能够方便地进行数据的存取。 在提供的代码片段中,`MongoDBConfig.java`是Java中连接MongoDB的一个配置类...

    经典sql语句练习

    下面,我们将深入探讨SQL的基本概念、常用语句以及它们在实际中的应用。 SQL,全称为结构化查询语言,是用于管理关系数据库的标准语言。它主要用于执行以下操作:数据查询、数据更新、数据插入和数据删除。以下是...

    springdata mongodb api文档

    这是一个用于MongoDB操作的类,它封装了对MongoDB的基本CRUD(创建、读取、更新、删除)操作,并且提供了一个更加面向对象的接口,使得开发者可以通过更加自然的方式来操作MongoDB。 SpringData MongoDB支持查询...

    mongodb客户端

    9. 其他特性:还包括脚本执行、备份与恢复功能,以及自定义工作区以组织和保存常用操作。 MongoDB的客户端选择众多,除了MongoVUE之外,还有诸如Robo 3T(原名Robomongo)、MongoDB Compass、Studio 3T等更现代的...

    php+mongodb小型留言板

    MongoDB提供了丰富的查询语句,如`find()`用于查找所有匹配的文档,`findOne()`用于找到第一个匹配的文档。例如,查询所有留言: ```php $query = []; $result = $collection->find($query); foreach ($result as $...

    mongodb性能优化.pptx

    Mongostat是一款用于监控MongoDB操作频率的工具,可以帮助我们了解各种操作的发生频率。 - **启动方式**:在终端中运行`mongostat`命令即可启动。 - **结果分析**: - `inserts`:每秒插入次数。 - `query`:每秒...

Global site tag (gtag.js) - Google Analytics