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

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/keye/p/7976304.html
Copyright © 2011-2022 走看看