DBA技术栈MongoDB: 数据增改删除

在这里插入图片描述
该博文主要介绍mongoDB对文档数据的增加、更新、删除操作。

1.插入数据

以下案例演示了插入单个文档、多个文档、指定_id、指定多个索引以及插入大量文档的情况。在实际使用中,根据需求选择适合的插入方式。

案例1:插入单个文档

db.visitor.insert({
   name:"John1", age:30})

案例2:插入多个文档

db.visitor.insert([{
   name:"John2", age:30}, {
   name:"Mary2", age:25}])

案例3:插入文档并指定_id

db.visitor.insert({
   _id:3, name:"John3", age:30})

案例4:插入文档并指定多个索引

db.visitor.insert({
   _id:4, name:"John4", age:30, index:true})

案例5:插入大量文档

db.visitor.insertMany([{
   name:"John", age:30}, {
   name:"Mary", age:25}, {
   name:"Peter", age:35},{
   name:"James", age:23}, {
   name:"MaryLi", age:26}, {
   name:"Jack", age:37}])

2. 更新字段

以下案例分别演示了更新单个字段、多个字段、多个文档、使用inc操作符更新数字字段和使用unset操作符删除字段的情况。

案例1:更新单个字段
在这个案例中,我们将更新集合中的一个文档的年龄字段。

db.visitor.update({
   _id: ObjectId("1234567890"), name: "John"}, {
   $set: {
   age: 35}})

案例2:更新多个字段
在这个案例中,我们将更新集合中的一个文档的年龄和姓名字段。

db.visitor.update({
   _id: ObjectId("1234567890")}, {
   $set: {
   name: "Jane", age: 35}})

案例3:更新多个文档
在这个案例中,我们将更新集合中所有年龄大于30的文档的年龄字段。

db.visitor.update({
   }, {
   $set: {
   age: 35}}, {
   multi: true})

案例4:使用inc操作符更新数字字段 在这个案例中,我们将使用inc操作符更新集合中一个文档的年龄字段。

db.visitor.update({
   _id: ObjectId("1234567890")}, {
   $inc: {
   age: 5}})

案例5:使用unset操作符删除字段 在这个案例中,我们将使用unset操作符删除集合中一个文档的年龄字段。

db.visitor.update({
   _id: ObjectId("1234567890")}, {
   $unset: {
   age: 1}})

3. 删除

以下案例分别演示了删除单个文档、多个文档、指定条件的文档、整个集合和指定数量的文档的情况。在实际使用中,根据需求选择适合的删除方式。注意,删除操作不可逆,请谨慎操作。

案例1:删除单个文档
在这个案例中,我们将删除集合中的一个文档。

db.visitor.remove({
   _id: ObjectId("1234567890")})

案例2:删除多个文档
在这个案例中,我们将删除集合中所有年龄大于30的文档。

db.visitor.remove({
   }, {
   multi: true})

案例3:删除指定条件的文档
在这个案例中,我们将删除集合中所有年龄大于30且名字为John的文档。

db.visitor.remove({
   age: {
   $gt: 30}, name: "John"})

案例4:删除整个集合
在这个案例中,我们将删除整个集合。

db.visitor.remove({
   })

案例5:删除指定数量的文档
在这个案例中,我们将删除集合中前两个文档。

db.visitor.remove({
   }, {
   limit: 2})

相关推荐

  1. 数据库DBMS,DBS,DBA

    2024-01-22 06:08:02       47 阅读
  2. MySQL--、删、、查,

    2024-01-22 06:08:02       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-22 06:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-22 06:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-22 06:08:02       87 阅读
  4. Python语言-面向对象

    2024-01-22 06:08:02       96 阅读

热门阅读

  1. Mac通过ssh、https访问gitlab私有仓库

    2024-01-22 06:08:02       47 阅读
  2. C语言应用层程序热补丁

    2024-01-22 06:08:02       52 阅读
  3. JUnit

    JUnit

    2024-01-22 06:08:02      54 阅读
  4. HJ5 进制转换【C语言】

    2024-01-22 06:08:02       53 阅读
  5. 组播地址与组播MAC的换算

    2024-01-22 06:08:02       44 阅读
  6. Dart语言中的布尔类型详解及实例应用

    2024-01-22 06:08:02       50 阅读
  7. 【Element UI详细介绍】

    2024-01-22 06:08:02       47 阅读