mongodb(2)--文档的插入、更新与删除操作

一、文档的插入

-- 单文档插入
db.COLLECTION_NAME.insert(document)
db.COLLECTION_NAME.insertOne(document)
-- insert也可以插入多文档
db.COLLECTION_NAME.save(document)

说明:

  • insert与save区别

  insert方法插入若文档中已存在该文档,会报错,反之写入

  save方法插入若集合中已存在该文档,则会更新它,反之写入

-- 多文档插入
db.COLLECTION_NAME.insertMany([document1,document2]...)
-- 使用数组[document],[]

 举例

db.comment.insert(
{"articleid":"100000","content":"今天天气真好,阳光明媚","userid":"1001",
"nickname":"Rose","age":"20","phone":"18807141995","createdatetime":new Date(),
"likenum":NumberInt(10),"state":null}
)
db.comment.insert([
{_id:1,"articleid":"100000","content":"清晨,我们不该把时间浪费在手机上,健康很重要,喝一杯温水,幸福你我他","userid":"1001",
"nickname":"相忘于江湖","age":"20","phone":{"homephone":"0531-88888","mobilephone":"18807141995"},"createdatetime":new Date("2022-3-15 09:09:09"),
"likenum":NumberInt(10),"state":null},
{_id:2,"articleid":"100000","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1001",
"nickname":"伊人憔悴","age":"20","phone":{"homephone":"0531-88888","mobilephone":"18807141995"},"createdatetime":new Date("2022-3-15 09:09:09"),
"likenum":NumberInt(10),"state":null},
{_id:3,"articleid":"100000","content":"夏天和冬天我都喝凉开水","userid":"1001",
"nickname":"杰克船长","age":"20","phone":{"homephone":"0531-88888","mobilephone":"18807141995"},"createdatetime":new Date("2022-3-15 09:09:09"),
"likenum":NumberInt(10),"state":null}
 ])

二、文档的删除

-- 删除所有文档
db.COLLECTION_NAME.remove({})
-- 什么条件都没有,删除所有的

-- 删除单个文档
db.COLLECTION_NAME.remove(<query>,{justOne:<boolean>,writeConcern:<document>})

参数说明:

  • query:可选参数,表示删除文档的条件
  • {justOne:<boolean>,writeConcern:<document>}:可选参数,justOne为true时表示查询到多个文档时只删除第一个文档。writeConcern表示抛出异常的级别

举例

db.comment.remove({"nickname":"爱德华"})

三、文档的更新 

db.COLLECTION_NAME.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

update参数说明:

  • $set:修改器,如果没有该字段,插入该字段
  • $inc:修改数值,加法,加上一个数
  • $mul:修改数值,乘法,乘一个数
  • $rename:修改错误的字段名
  • unset:删除字段
  • min:用给出的值与文档中的值比较,如果比文档中的小,则修改成给定的值
  • max:用给出的值与文档中的值比较,如果比文档中的大,则修改成给定的值

举例说明:

-- content中内容修改
db.comment.update({
    content: "喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有2升"
}, {
    $set: {
        content: "喝水增加了尿量,能使有害物质及时排除体内"
    }
})

-- 删除name为joe的favorite book字段
db.users.update({
    "name": "joe"
}, {
    $unset: {
        "favorite book": 1
    }
})

-- 修改_id为10的titlss字段名称为title
db.order.update({
    _id: 10
}, {
    $rename: {
        "titlss": "title"
    }
})
-- $inc与$mul
db.order.update(
    {
        title: "商品购物单2"
    },
    {
        $inc: {
            amount: 5
        }
    }
)
db.order.update(
    {
        title: "商品购物单2"
    },
    {
        $mul: {
            amount: 2
        }
    }
)

 

posted @ 2023-03-31 19:22  洛小依ovo  阅读(184)  评论(0)    收藏  举报