MongoDB:更新文档update(1)
官网位置:https://docs.mongodb.com/manual/reference/method/db.collection.update/。
MongoDB的使用还是有一定难度的,官网讲解的一环牵扯一环,不容易一下子把握住重点,也不利于快速查询操作,所以整理一下。
语法:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ]
}
)
参数 | 类型 | 描述 |
---|---|---|
query | 文档 | 查询条件,功能类似sql的where语句。 |
update | 文档 | 将会进行的操作。 |
upsert | 布尔型 | 可选。在没有找到记录的情况下是否插入,默认为false。 |
multi | 布尔型 | 可选。是否要更新所有匹配的记录,默认为为false。 |
writeConcern | 文档 | 可选。待解释和细化。 |
collation | 文档 | 可选。待解释和细化。 |
arrayFilters | 数组 | 可选。待解释和细化。 |
实例:
现有数据库记录如下:
数据库:my_test,之前文章创建的数据库,创建数据库,参看这里。
集合:my_test。
{
"_id" : ObjectId("5abb3b5bce69c048be080199"),
"meta" : {
"createAt" : ISODate("2018-03-28T06:51:07.579Z"),
"updateAt" : ISODate("2018-03-28T06:51:07.579Z")
},
"a" : "1",
"b" : "1",
}
{
"_id" : ObjectId("5abb86fc38fb007b1392103f"),
"meta" : {
"createAt" : ISODate("2018-03-28T10:12:21.640Z"),
"updateAt" : ISODate("2018-03-28T10:12:21.640Z")
},
"a" : "1",
"b" : "3",
}
需求:找到a=“1”,b=“1”的记录,更新b=“2”;没找到,不新增;只更新一条。
完整语句:
db.test.update(
{a: "1", b: "1"}, //查询条件,<query>=>{a: "1", b: "1"}。
{b: "2"}, //更新条件,<update>-=>{b: "2"}。
//这些使用默认值,可以不写
)
posted on 2018-06-29 20:54 chaiyu2002 阅读(169) 评论(0) 编辑 收藏 举报