zoukankan      html  css  js  c++  java
  • 创建、更新和删除文档

    一、插入并保存文档

    insert方法

    1.单数据插入

    db.study.insert({
        
        "name":"赵六",
        "age":20,
        "sex":0,
        "address":"北京,海淀"
        
        })

    2.批量插入

    for (var i = 0; i < 5; i++){
    db.study.insert({
        
        "name" : "李四1",
        "age" : 1.0+i,
        "sex" : 1.0,
        "address" : "甘肃,武威"+i
        })
        
    }

    二、删除文档

    1.remove方法智慧删除

    db.study.remove({
        
        "name":"赵六"
        
        })

    2.drop直接删除集合

    三、更新文档

    update 有两个参数1是寻找目标,2是将要修改成啥

    1.文档替换

    var lisi = db.study.findOne({"name":"李四1"});
    lisi.info = {
        "age":lisi.age,
        "sex":lisi.sex,
        };
    delete lisi.age;
    delete lisi.sex;
    db.study.update({"name":"李四1"},lisi)

    2.使用修改器

     $inc   必须是数字执行1次在pageviews上加1

    db.analytics.update({"url":"www.baidu.com"},{"$inc":{"pageviews":1}})

    $set  用来指定一个字段,如果这个字段不存在,则创建,有则修改

    db.study.update({name:"李四2"},{"$set":{"age":21}})

    $unset 删除字段(键值对)

    db.study.update({name:"李四2"},{"$unset":{"lovly":"food"}})

    $push 有字段则在数组中添加值,没有字段新增 键值对

    db.study.update({name:"李四2"},{"$push":{"content":{
        
        "name" : "李四2",
        "age" : 22.0,
        "sex" : 1.0,
        }}})

    $each 添加多条数据

    db.study.update({name:"李四2"},{"$push":{"content":{"$each":[{
        
        "name" : "李四3",
        "age" : 21.0,
        "sex" : 1.0},{
        
        "name" : "李四4",
        "age" : 23.0,
        "sex" : 1.0},
        {
        
        "name" : "李四5",
        "age" : 26.0,
        "sex" : 1.0}]
        }}})

    $slice 值必须为负数 和$push组合使用,其负数的值是push数据的最大数

    db.blog.update({"title":"test3"},
        {"$push":{"top3":{"$each":[ {"name":"zhang","num":1},
        {"name":"li","num":2},
        {"name":"wang","num":3},
        {"name":"liu","num":4},
        {"name":"kang","num":5}],
        "$slice":-3,
        "$sort":{"num":-1
        }}}})
    结果:

    {
    "_id" : ObjectId("5f1fba699da18cf3e2cf8073"),
    "title" : "test3",
    "content" : "There is study",
    "date" : ISODate("2020-07-28T05:40:57.366Z"),
    "study" : [
    "english",
    "chinese"
    ],
    "top3" : [
    {
    "name" : "wang",
    "num" : 3.0
    },
    {
    "name" : "li",
    "num" : 2.0
    },
    {
    "name" : "zhang",
    "num" : 1.0
    }
    ]
    }

  • 相关阅读:
    mybatis 插件的原理-责任链和动态代理的体现
    优雅的对象转换解决方案-MapStruct使用进阶(二)
    将博客搬至CSDN
    python headers missing
    Gvim:unable to load python
    gvim keil 快捷跳转至出现错误(警告)行
    stm32 堆溢出
    keil在线烧录突然提示 No target connected #
    cygwin vim can't write .viminfo
    切换用户后,/etc/profile的配置不起效
  • 原文地址:https://www.cnblogs.com/elephant-study/p/13396974.html
Copyright © 2011-2022 走看看