• mongodb更新器


    Name    Description
    $inc    Increments the value of the field by the specified amount.
    $mul    Multiplies the value of the field by the specified amount.
    $rename    Renames a field.
    $setOnInsert    Sets the value of a field if an update results in an insert of a document. Has no effect on update operations that modify existing documents.
    $set    Sets the value of a field in a document.
    $unset    Removes the specified field from a document.
    $min    Only updates the field if the specified value is less than the existing field value.
    $max    Only updates the field if the specified value is greater than the existing field value.
    $currentDate    Sets the value of a field to current date, either as a Date or a Timestamp.

    https://docs.mongodb.com/manual/reference/operator/update-field/

    > db.persons.insertOrUpdate({id:"02"}, {_id:"02",name:"x0023"},true);
    Sat Jun 03 17:31:56 TypeError: db.persons.insertOrUpdate is not a function (she
    l):1
    > db.persons.update({id:"02"}, {_id:"02",name:"x0023"},true);
    E11000 duplicate key error index: foobar.persons.$_id_  dup key: { : "02" }
    > db.persons.update({_id:"02"}, {_id:"02",name:"x0023"},true);
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x0023" }
    { "_id" : "03", "name" : "x03" }
    > db.persons.update({_id:"02"}, {_id:"02",name:"x03"},true);
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03" }
    { "_id" : "03", "name" : "x03" }
    > db.persons.update({name:"x03"}, {$set:{name:"x03"}},false,true);
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03" }
    { "_id" : "03", "name" : "x03" }
    > db.persons.update({name:"x03"}, {$set:{name:"x03sd"}},false,true);
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.person.update((name:"02"),{$set:{age:23}})
    Sat Jun 03 17:51:27 SyntaxError: missing ) in parenthetical (shell):1
    > db.person.update({name:"02"},{$set:{age:23}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.person.update({name:"01"},{$set:{age:23}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.person.update({name:"01"},{$set:{age:23}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.person.update({"name":"01"},{$set:{age:23}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.person.update({"name":"x03sd"},{$set:{age:23}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.persons.update({"name":"x03sd"},{$set:{age:23}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "age" : 23, "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.persons.update({"name":"x03sd"},{$inc:{age:3}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "age" : 26, "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.persons.update({"name":"x03sd"},{$inc:{age:-3}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "age" : 23, "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.persons.update({"name":"x03sd"},{$unset:{age:1}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.persons.update({"name":"x03sd"},{$push:{habby:"aa"}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "02", "habby" : [ "aa" ], "name" : "x03sd" }
    { "_id" : "03", "name" : "x03sd" }
    > db.persons.update({"name":"x03sd"},{$push:{habby:"bb"}})
    > db.persons.find()
    { "_id" : "01", "name" : "01" }
    { "_id" : "03", "name" : "x03sd" }
    { "_id" : "02", "habby" : [ "aa", "bb" ], "name" : "x03sd" }
    > db.persons.update({"name":"x03sd"},{$push:{name:"bb"}})
    Cannot apply $push/$pushAll modifier to non-array
    >
  • 相关阅读:
    网络处理1-异步GET请求
    <十二>读<<大话设计模式>>之状态模式
    oracle的shared、dedicated模式解析
    java 调用ant的自己定义task,默认不是build.xml 的一点问题
    【Android开发-8】生命周期,Activity中打开另外一个Activity
    Robot Framework自己主动化測试框架之我见
    三张图教你生成一个Android jar 库。
    Array types are now written with the brackets around the element type问题的解决方法
    HDU 4085 Peach Blossom Spring 斯坦纳树 状态压缩DP+SPFA
    Java 线程池ThreadPoolExecutor简单应用
  • 原文地址:https://www.cnblogs.com/rocky-AGE-24/p/6937971.html
Copyright © 2020-2023  润新知