`

mongoDB--update和delete

 
阅读更多

mongoDB提供的update和delete方法中有对collection中一个document操作的(类似于limit 1),也有对collection中多个doucument操作的,还支持blukUpdate(这个有点像hibernateTemplate或是jdbcTemplate提供的blukUpdate)

UPDATE OPERATION:

  1.updateOne

  db.class.updateOne({

      filterProp:{$lt:filterVal}

    },{

      $set : {setProp:setVal}    

   })

对等

update class set setProp=setVal

where filterProp < filterVal

limit 1

只是修改命中的一条数据的update的信息

 好吧,是我错了,我的版本不支持updateOne,只有update

  2.updateMany

   db.class.updateMany({

      filterProp:{$lt:filterVal}

    },{

      $set : {setProp:setVal}    

   })

对等

update class set setProp=setVal

where filterProp < filterVal

  3.replaceOne(我这里实验的是较低版本的mongoDB)

replaceOne其实和我贴图中的update是一样的,和updateOne不同的是:

  updateOne是对document中的某个prop替换value值

  replaceOne是将满足的document替换掉用后面的collection



 

DELETE OPERATION:

 1.deleteOne

以下是摘抄from API

 The following diagram highlights the components of the MongoDB deleteOne() operation:

The components of a MongoDB deleteOne operation.

The following diagram shows the same query in SQL:

The components of a SQL DELETE statement with LIMIT 1.

 2.deleteMany

 


The following diagram highlights the components of the MongoDB deleteMany() operation:

The components of a MongoDB deleteMany operation.

The following diagram shows the same query in SQL:

The components of a SQL DELETE statement.

 3.remove



 

remove 和deleteOne的区别:

暂时没有发现有什么区别。。。。//TODO待补充

 

bulkWrite:(3.2版本新函数)

是将对应的update行为,组成jsonArray一次性起效。

db.collection.bulkWrite(
   [
      { insertOne : { "document" : { name : "sue", age : 26 } } },
      { insertOne : { "document" : { name : "joe", age : 24 } } },
      { insertOne : { "document" : { name : "ann", age : 25 } } },
      { insertOne : { "document" : { name : "bob", age : 27 } } },
      { updateMany: {
         "filter" : { age : { $gt : 25} },
         "update" : { $set : { "status" : "enrolled" } }
         }
      },
      { deleteMany : { "filter" : { "status" : { $exists : true } } } }
   ]
)

 

 

   

 

 

 

 

 


 

  • 大小: 45.7 KB
  • 大小: 63.6 KB
分享到:
评论

相关推荐

    mongodb-async-driver-2.0.1 jar包

    6. **CRUD操作**:提供对MongoDB基本的Create(创建)、Read(读取)、Update(更新)和Delete(删除)操作的API,支持文档级别的操作以及复杂的聚合框架。 7. **集合与数据库操作**:允许开发者轻松创建、查询和...

    mongodb-windows-x86-64-6.0.5最新稳定版本

    - 分布式:MongoDB支持分布式部署,可以构建多节点复制集和分片集群,以实现高可用性和水平扩展。 - 文档型:MongoDB以BSON(二进制JSON)格式存储数据,这种格式既能保持JSON的易读性,又能提高存储效率。 - ...

    mongodb-driver-3.9.1.zip_MongoDB

    你可以执行CRUD(Create, Read, Update, Delete)操作,例如,使用`MongoCollection`对象进行文档的插入、查询、更新和删除。 MongoDB Java驱动支持多种查询方式,包括基本查询、聚合框架、地理空间查询等。例如,...

    mongodb-linux-i686-2.0.4

    7. CRUD操作:MongoDB提供了简单的Create(创建)、Read(读取)、Update(更新)和Delete(删除)操作,使得开发人员可以方便地操作数据。 8. 内建复制:通过复制集,MongoDB可以创建多个数据副本,提高系统的可用...

    mongodb-win32-x86_64-2008plus-ssl-3.6.23.zip

    - 文档(相当于记录)的插入、查询、更新和删除分别用`insertOne()`, `find()`, `updateOne()`, `deleteOne()`等方法。 5. **安全性与权限**: - MongoDB支持用户认证和角色管理,使用`db.createUser()`创建用户...

    MongoDB-C++-Driver3.2.rar

    MongoDB是一款开源、高性能、无模式的文档型数据库,它以JSON格式存储数据,适合处理大量数据并提供高可用性和可扩展性。MongoDB-C++-Driver3.2是MongoDB官方提供的C++编程接口,允许开发人员在C++应用程序中与...

    mongodb-csharp

    MongoDB 是一个流行的开源、分布式文档数据库,以其灵活性、高性能和易用性而备受开发者喜爱。C# 是一种广泛使用的编程语言,尤其在Windows平台和.NET框架下。`mongodb-csharp` 标签指的是使用 C# 语言与 MongoDB ...

    mongoDB-CURD操作-----JAVA

    本篇文章将深入探讨MongoDB在Java环境下的CURD操作,帮助初学者更好地理解和应用。 首先,我们需要引入MongoDB的Java驱动程序依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org....

    mongodb-win32-x86_64-2008plus-ssl-4.0.0-signed.msi

    7. 删除:deleteOne()和deleteMany()方法用于删除单个或多个文档。 除了基本操作,MongoDB还支持复制集(Replica Sets),实现数据冗余和高可用性;分片(Sharding),用于水平扩展以处理海量数据;以及自动化备份...

    node-mongodb-native.zip

    在Node.js的开发中,MongoDB作为一款高性能的NoSQL数据库,被广泛应用于数据存储和处理。为了方便Node.js与MongoDB进行交互,官方提供了一个名为`node-mongodb-native`的驱动包。这个驱动包允许开发者用JavaScript...

    MongoDB-Mapper

    4. **CRUD操作**:通过MongoDB-Mapper提供的方法,可以轻松执行增(Create)、删(Delete)、改(Update)、查(Read)操作。例如,`save()`用于保存对象到数据库,`find()`用于查询数据,`delete()`用于删除数据,`...

    Mongodb java包

    - **CRUD操作**:使用Collection对象,可以执行常见的Create、Read、Update、Delete(CRUD)操作。例如,插入文档: ```java Document doc = new Document("name", "John").append("age", 30); collection.insert...

    mongodb-测试数据

    1. **基本 CRUD 操作**:这些数据可以帮助你练习插入(Insert)、查询(Find)、更新(Update)和删除(Delete)操作,理解如何在MongoDB中处理单个文档和批量文档。 2. **聚合框架**:可能包含各种聚合管道示例,...

    Egg-mongo基于node-mongodb-native提供egg.js的MongoDB驱动及API

    4. **CRUD 操作**:提供 create、find、findOne、update、delete 等方法,方便进行数据的增删改查。 5. **聚合操作**:支持 MongoDB 的聚合框架,进行复杂的数据分析和处理。 6. **中间件**:可以注册 MongoDB 相关...

    mongodb-demo示例

    总之,"mongodb-demo示例"是学习和实践Java与MongoDB结合的宝贵资源,它涵盖了从基本的数据库连接、数据操作到复杂查询和高级特性的完整流程。通过深入研究和实践这个示例,开发者可以更好地理解和应用MongoDB,提升...

    PyPI 官网下载 | nameko-mongodb-1.0.1.tar.gz

    3. **服务方法**: 在服务类中,我们可以定义各种操作MongoDB的方法,如`insert_one()`, `find()`, `update_one()`, `delete_one()`等,这些都是基于MongoDB的原生操作。 4. **依赖注入**: Nameko的依赖注入特性使得...

    debezium-debezium-connector-mongodb-2.0.0.Final

    2. **事件模型**:Debezium将Oplog中的操作转换为可理解的事件,如INSERT、UPDATE、DELETE等,每个事件包含了足够的信息来重建数据库状态的变化。 3. **数据一致性**:连接器保证在分布式环境中数据的强一致性,...

    Laravel开发-eloquent-mongodb-repository

    这使得我们能够在保持Laravel的优雅和简洁的同时,充分利用MongoDB的灵活性和非结构化数据处理能力。通过深入学习和实践,你可以更熟练地在Laravel应用中集成MongoDB,为你的项目带来更多的可能性。

    MongoDB-3.0.4-manual

    - **软件配置**:操作系统版本、MongoDB 版本和其他依赖项。 #### 六、安全机制 - **概念**: - **认证**:验证用户身份。 - **授权**:控制用户对数据库对象的访问权限。 - **教程**: - **设置用户**:如何...

    开源项目-mongodb-mongo-go-driver.zip

    2. ** CRUD操作**:支持创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据的基本操作,同时支持复杂的查询语句,如聚合框架和地理空间查询。 3. **类型映射**:Go的数据结构可以直接映射到MongoDB...

Global site tag (gtag.js) - Google Analytics