美文网首页
MongoDB常用命令

MongoDB常用命令

作者: WESTWALL | 来源:发表于2018-06-14 16:25 被阅读0次

    创建/删除数据库

    /* 创建数据库:数据库不存在就创建,存在就跳转 */
    use DATABASE_NAME
    
    /* 删除数据库 */
    db.dropDatabase()
    
    /* 删除集合 */
    db.collection.drop()
    
    -- 查看所有数据库
    show dbs
    
    -- 查看当前数据库
    db
    

    创建/删除集合

    db.createCollection(name, options)
    
    字段 类型 描述
    capped 布尔 (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
    autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。
    size 数值 (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
    max 数值 (可选)指定固定集合中包含文档的最大数量。在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。
    -- 创建集合
    db.createCollection("runoob")
    
    -- 创建capped集合
    db.createCollection("mycol", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )
    
    -- 直接insert也可以创建集合
    db.mycol2.insert({"name" : "菜鸟教程"})
    
    -- 查看已有的集合
    show collections
    
    -- 删除集合(collection是集合名称)
    db.collection.drop()
    

    插入文档

    MongoDB 使用 insert()save() 方法向集合中插入文档。"collection"是集合名称。

    -- 插入
    db.collection.insert()
    db.collection.save()
    
    -- 查看
    db.collection.find()
    

    更新文档

    update()方法:

    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.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
    
    全部更新:
    db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
    
    只添加第一条:
    db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
    
    全部添加加进去:
    db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
    
    全部更新:
    db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
    
    只更新第一条记录:
    db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
    
    • WriteConcern.NONE:没有异常抛出
    • WriteConcern.NORMAL:仅抛出网络错误异常,没有服务器错误异常
    • WriteConcern.SAFE:抛出网络错误异常、服务器错误异常;并等待服务器完成写操作。
    • WriteConcern.MAJORITY: 抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作。
    • WriteConcern.FSYNC_SAFE: 抛出网络错误异常、服务器错误异常;写操作等待服务器将数据刷新到磁盘。
    • WriteConcern.JOURNAL_SAFE:抛出网络错误异常、服务器错误异常;写操作等待服务器提交到磁盘的日志文件。
    • WriteConcern.REPLICAS_SAFE:抛出网络错误异常、服务器错误异常;等待至少2台服务器完成写操作。

    save()方法:

    db.collection.save(
    <document>,
    {
    writeConcern: <document>
    }
    )

    • document : 文档数据。
    • writeConcern :可选,抛出异常的级别。

    删除文档

    db.collection.remove(
    <query>,
    {
    justOne: <boolean>,
    writeConcern: <document>
    }
    )

    • query :(可选)删除的文档的条件。
    • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
    • writeConcern :(可选)抛出异常的级别。
    -- 举例
    db.col.remove({'title':'MongoDB 教程'})
    
    -- 删除全部的
    db.col.remove({})
    

    相关文章

      网友评论

          本文标题:MongoDB常用命令

          本文链接:https://www.haomeiwen.com/subject/kbqhjftx.html