zoukankan      html  css  js  c++  java
  • MongoDB(课时17 更新函数)

    3.4.3 数据更新操作

    MongoDB数据存的是副本数据, 最终的数据还要保存在传统的数据库里,所以如果关系型数据库里数据变了,最好的方法是删除里面的MongoDB数据重新插入。

    在MongoDB里面对于数据的更新操作提供了两类函数:save()、update()

    3.4.3.1 函数的基本使用

    修改数据最直接的使用函数是update()函数,但是update()函数语法要求很麻烦。

    • 语法:db.集合.update(更新条件, 新的对象数据, upsert, multi)

    新的对象数据:里面可以有一些操作符。

    upsert:更新的数据不存在,则增加一条新的内容(true为增加,false为不增加)(upsert 更新插入)

    multi:表示是否只满足条件的第一行记录(设置为false,只更新第一条,为true全更新)(multi多)

    范例:更新存在的数据——更新年龄是19岁的人的成绩为100分,只更新其中一条

    db.students.update({"age" : 19}, {"$set" : {"score" : 100}}, false, false)  

    # 更新条件:{"age" : 19}

    # 新的对象数据:里面包含的操作符{"$set" : {"score" : 100}}

    # "$set"为修改器,这里只用来修改数据,其实集合结构也能修改,因为MongoDB是无模式的

    # 第一个为false:表示更新的数据不存在的话不增加

    # 第二个为false:表示只更新一条

    表示只更新了一条。

    范例:更新年龄是19岁的人的成绩为100分,只更新其中多条

    db.students.update({"age" : 19}, {"$set" : {"score" : 100}}, false, true)

    # 第二个为true表示更新多条

    表示匹配了12条,更新了11条,有一条前面已经更新了。

    范例:更新不存在的数据

    db.students.update({"age" : 30}, {"$set" : {"name" : "不存在"}}, true, false)

    # 第一个为true表示为数据不存在的话增加

    "nMatched" : 0表示匹配数为0  "nUpserted" : 1表示更新数为1  "nModified" : 0表示修改数为0

  • 相关阅读:
    Apollo 配置中心
    Sentinel 限流
    soul 网关
    xxl-job 任务管理
    java Young GC排查
    bitmap(位图)
    RabbitMQ一个简单可靠的方案(.Net Core实现)
    从技术角度讨论微服务
    你可能不知道的.Net Core Configuration
    浅谈开发模式及架构发展
  • 原文地址:https://www.cnblogs.com/keye/p/7976304.html
Copyright © 2011-2022 走看看