首页 > 编程笔记 > MySQL笔记 阅读:5

MongoDB update():更新文档(附带实例)

MongoDB使用update()方法来更新集合中的文档。官方推荐使用updateOne()方法和updateMany()方法分别更新单条和多条文档。

update() 方法更新文档的基本语法如下:
db.collection.update(
    <query>,
    <update>,
    {
        upsert,
        multi,
        writeConcern,
        collation
    }
)
上述代码中各参数的含义如下:
例如,插入一条数据后,使用 update() 方法进行更改,代码如下:
db.test.insertMany([
    {item: "card", qty: 15},
    {item: "envelope", qty: 20},
    {item: "stamps", qty: 30}
]);
// 修改item: "card", qty:15中 qty的值为35
db.test.update(
    {
        Item: "card"
    },
    {
        $set: {qty: 35}
    }
)
collation 参数允许 MongoDB 的用户根据不同的语言定制排序规则。在 MongoDB 中,字符串被默认当作一个普通的二进制字符串进行对比。而使用中文名称时通常有按拼音顺序排序的需求,这时就可以通过 collation 参数来实现。

在创建集合时,可指定 collation 参数的值为 zh,并按 name 字段排序,这样便会按照 collation 参数指定的中文规则来排序,代码如下:
db.createCollection("person", {collation: {locale: "zh"}})
// 创建集合并指定语言
db.person.insert({name: "张三"})
db.person.insert({name: "李四"})
db.person.insert({name: "王五"})
db.person.insert({name: "马六"})
db.person.insert({name: "张七"})
db.person.find().sort({name: 1}) // 查询并排序,name:1指定返回name列
返回结果如下:

{ "_id": ObjectId("586b995d0cec8d86881cffae"), "name": "李四" }
{ "_id": ObjectId("586b995d0cec8d86881cffb0"), "name": "马六" }
{ "_id": ObjectId("586b995d0cec8d86881cffaf"), "name": "王五" }
{ "_id": ObjectId("586b995d0cec8d86881cffb1"), "name": "张七" }
{ "_id": ObjectId("586b995d0cec8d86881cffad"), "name": "张三" }

相关文章