zoukankan      html  css  js  c++  java
  • (04)mongodb 关于列的操作

    1、修改列名

      db.person.update({age:31},{$rename:{address:'address2'}});  age 为31 的列 的 address列的名称修改为address2,只会修改一条记录。

      db.person.update({name:'张三'},{$rename:{address:'address2'}},{multi:true});  name为张三的address列的名修改为address2,会修改所有满足条件的记录。

    2、删除某一列

      db.person.update({name:'张三'},{$unset:{age:''}});  删除列名为name的值是张三的列,列名和列值都会删除,只会删除一条。

      db.person.update({name:'张三'},{$unset:{age:''}},{multi:true});  删除列名为name的值是张三的列,列名和列值都会删除,满足条件的都会删除。

    3、给某一列自增长 $inc ,_id 为1的记录,age 增加 1,可以增加小数,列必须输数字类型。

      db.person.update({_id:1},{$inc:{age:1}});   

      db.person.update({name:'张三'},{$inc:{age:10}});  改变1条记录

      db.person.update({name:'张三'},{$inc:{age:10}},{multi:ture});  改变所有满足条件的记录

    4、如果没有查询到不更新,直接插入 upsert

      db.person.update({_id:4},{name:'李四',class:'三班',score:90},{upsert:true});  如果没有_id 为 4 的记录,则插入

      { "_id" : 4, "name" : "李四", "class" : "三班", "score" : 90 } 该条记录

    5、如果没有更新行,插入额外的列:$setOnInsert,upsert:true

      db.person.update({_id:5},{$setOnInsert:{name:'王五',like:'football'}},{upsert:true});  执行后,数据库中多出如下记录:

      { "_id" : 5, "like" : "football", "name" : "王五" },假如数据库中有_id 为 5 的记录,执行以下的语句,不会有任何影响,不会新增,也不会修改。

      db.person.update({_id:5},{$setOnInsert:{name:'王五',like:'football',height:178}},{upsert:true});

    6、查询显示固定的列,属性:1 显示,属性:0 不显示,0与1不能混用(根据不同版本而定)

      原记录:{ "_id" : 4, "name" : "李四", "class" : "三班", "score" : 90 }

      执行:db.person.find({name:'李四'},{_id:1,name:1});  结果:{ "_id" : 4, "name" : "李四" }

      执行:db.person.find({name:'李四'},{_id:1,name:1,score:1});  结果:{ "_id" : 4, "name" : "李四", "score" : 90 }

      执行:db.person.find({name:'李四'},{score:0});  结果:{ "_id" : 4, "name" : "李四", "class" : "三班" }

    7、组合,用{}括起来

      插入:db.person.insert({name:'lisi',age:12,sex:'male',height:123,area:'haidian'});

      结果:{ "_id" : ObjectId("5d4190e8c21b717496b2989b"), "name" : "lisi", "age" : 12, "sex" : "male", "height" : 23, "area" : "haidian" }

      执行:db.person.update({name:'lisi'},{$set:{area:'chaoyang'},$unset:{height:1},$inc:{age:1},$rename:{sex:'gender'}});

      结果:{ "_id" : ObjectId("5d4190e8c21b717496b2989b"), "name" : "lisi", "age" : 13, "area" : "chaoyang", "gender" : "male" }

  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/javasl/p/11267417.html
Copyright © 2011-2022 走看看