• MongoDB 更新/删除/索引


    一、更新

    语法

    db.collection.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )
    

    参数说明:

    • query : update的查询条件,类似sql update查询内where后面的。
    • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。

    更新一个字段

    db.col.insert({
        title: 'MongoDB 教程', 
        description: 'MongoDB 是一个 Nosql 数据库',
        by: '菜鸟教程',
        url: 'http://www.runoob.com',
        tags: ['mongodb', 'database', 'NoSQL'],
        likes: 100
    })
    

    将标题为MongoDB 教程的文档更换为标题MongoDB,只更新符合条件的第一个

    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
    

    将标题为MongoDB 教程的文档更换为标题MongoDB,更新所有符合条件的

    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
    

    更新多个字段

    db.col.save({
        "_id" : ObjectId("5cb5ac6e74b0bb0c47ed9069"),
        "title" : "MongoDB2",
        "description" : "MongoDB2 是一个 Nosql 数据库",
        "by" : "Runoob2",
        "url" : "http://www.runoob.com2",
        "tags" : [
                "mongodb"
        ],
        "likes" : 90
    })
    

    二、删除

    # 符合条件的,删除一个
    db.runoob.deleteOne({"by":"菜鸟教程"})
    # 符合条件的,全部删除
    db.runoob.deleteMany({"by":"菜鸟教程"})
    # 清空集合
    db.runoob.deleteMany({})
    

    三、索引

    # 单个索引,1为升序索引,-1为降序索引
    db.col.createIndex({"title":1})
    # 复合索引
    db.col.createIndex({"title":1,"description":-1})
    #查看集合索引
    db.col.getIndexes()
    #查看集合索引大小
    db.col.totalIndexSize()
    #删除集合所有索引
    db.col.dropIndexes()
    #删除集合指定索引
    db.col.dropIndex("索引名称")
    
  • 相关阅读:
    cocos2dx的内存管理机制
    cocos2d-x多分辨率适配方案:setDesignResolutionSize使用
    在lua脚本中使用我们自定义的精灵类
    cocos2d-x内存管理(见解)
    MongoDB学习笔记(2):数据库操作及CURD初步
    剑指Offer:树的子结构
    剑指Offer:反转链表
    剑指Offer:调整数组顺序使奇数位于偶数前面【21】
    剑指Offer:链表中倒数第k个结点【22】
    剑指Offer:合并两个排序的链表【25】
  • 原文地址:https://www.cnblogs.com/zy108830/p/12639764.html
Copyright © 2020-2023  润新知