广

MongoDB

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    MongoDB常用命令小结

    2018-03-31 21:55:27 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布

    MongoDB常用命令: 

    超级用户相关: 

    use admin 

    #增加或修改用户密码 

    db.addUser(ixigua,'pwd') 

    #查看用户列表 

    db.system.users.find() 

    #用户认证 

    db.auth(ixigua,'pwd') 

    #删除用户 

    db.removeUser('mongodb') 

    #查看所有用户 

    show users 

    #查看所有数据库 

    show dbs 

    #查看所有的collection 

    show collections 

    #查看各collection的状态 

    db.printCollectionStats() 

    #查看主从复制状态 

    db.printReplicationInfo() 

    #修复数据库 

    db.repairDatabase() 

    #设置记录profiling,0=off 1=slow 2=all 

    db.setProfilingLevel(1) 

    #查看profiling 

    show profile 

    #拷贝数据库 

    db.copyDatabase('mail_addr','mail_addr_tmp') 

    #删除collection 

    db.mail_addr.drop() 

    #删除当前的数据库 

    db.dropDatabase() 

    客户端连接: 

    /usr/local/mongodb/bin/mongo 8.8.88/ixigualib -u ixigua -p 'pwd' 

    增删改: 

    #存储嵌套的对象 

    db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]}) 

    #存储数组对象 

    db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']}) 

    #根据query条件修改,如果不存在则插入,允许修改多条记录 

    db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true) 

    #删除yy=5的记录 

    db.foo.remove({'yy':5}) 

    #删除所有的记录 

    db.foo.remove() 

    索引: 

    #增加索引:1(ascending),-1(descending) 

    db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true}); 

    #索引子对象 

    db.user_addr.ensureIndex({'Al.Em': 1}) 

    #查看索引信息 

    db.deliver_status.getIndexes() 

    db.deliver_status.getIndexKeys() 

    #根据索引名删除索引 

    db.user_addr.dropIndex('Al.Em_1') 

    查询: 

    #查找所有 

    db.foo.find() 

    #查找一条记录 

    db.foo.findOne() 

    #根据条件检索10条记录 

    db.foo.find({'msg':'Hello 1'}).limit(10) 

    #sort排序 

    db.deliver_status.find({'From':'ixigua@sina.com'}).sort({'Dt',-1}) 

    db.deliver_status.find().sort({'Ct':-1}).limit(1) 

    #count操作 

    db.user_addr.count() 

    #distinct操作 

    db.foo.distinct('msg') 

    #>操作 

    db.foo.find({"timestamp": {"$gte" : 2}}) 

    #子对象的查找 

    db.foo.find({'address.city':'beijing'}) 

    管理: 

    #查看collection数据的大小 

    db.deliver_status.dataSize() 

    #查看colleciont状态 

    db.deliver_status.stats() 

    #查询所有索引的大小 

    db.deliver_status.totalIndexSize() 

    #查看当前所使用的数据库 

    db 

    作者 mahout

    以下是其他网友的补充:

    库操作

    show dbs 查看系统中的数据库列表

    注:数据库中必须有内容才会显示

    db = db.getSiblingDB("")

    or

    use  

    切换当前数据库

    注:如果数据库不存在,则创建数据库

    任何一种方法都是可以的,并把db值设置为指定的数据库,然后可以使用db来管理新的当前数据库。

    db.dropDatabase() 删除当前数据库

    注:删除当前数据库,然后在不改变当前数据库的情况下使用句柄创建一个集合,则被删的数据库会被重新创建。

    db.copyDatabase("", "", [hostname])

    复制数据库,创建除名称外一模一样的数据库

    注:可选的hostname参数指定当前库MongDB服务器主机名。

    db 显示当前数据库

    集合操作

    show collections 查看当前数据库中包含的集合的名单

    db.createCollection("", {}) 创建集合

    注:参数二可选对象

    属性          说明

    capped         布尔,如果为true,表示该集合是一个封顶集合,它不会增长到比size属性指定最大规模更大。默认:false

    autoIndexID     布尔,如果为true,表明自动为添加到集合的每个文档创建一个_id字段并实现该字段上索引。这对封顶集合应该是false。默认true

    size          字节单位大小,用于封顶集合。最旧的文件被删除,以腾出空间给新文件

    max         在封顶集合中允许的最大文档数。最旧的文件被删除,以腾出空间给新文件

    db..drop()

    or

    coll = db.getCollection("")

    coll.drop() 删除集合

    db..find()

    or

    coll = db.getCollection("")

    coll.find(query) 在集合中查看文档

    注:可选query参数指定包含字段和值的查询文档与集合中的文档匹配,并返回匹配内容。例:coll.find({speed:"120mph"})

    db..insert({}) 

    or

    db..save({})

    在集合中插入文档数据(如果集合不存在会被创建,save也是)

    将同类数据视为一个集合

    集合中数据具体相似的属性

    集合是一个容器,内部可放置N多数据

    可以对这些数据进行筛选、排序

    db..remove({筛选条件},false)

    从集合中删除文档 参数1:筛选条件。参数2:可选参数,是否单行删除,默认false。

    db..save({ "_id" : ObjectId("57e26b294a655f35e13d6f5d"), "name" : "hung", "age" : 18})

    or

    db..update( {筛选条件}, {$set:{"name":"jin","up":true}},

    {upsert:true,multi:true}) 更新集合中的文档

    参数一:更新文档的条件

    参数二:更新时使用的更新运算符,以及更新属性

    常用运算符:$inc递归该字段值。$set设置字段值。$push将一个条目推送数组。$rename重命名字段。等··

    参数三:可选,两个属性。multi(匹配到的所有文档更新,默认false只更新第一条)和upsert(若没有找到匹配项,创建一个,默认false不创建),布尔。

    *******************************************************************

    db..pretty() 整齐的显示查询文档

    db..find().sort({属性:1/-1}) 按指定的属性排序

    1是正序,-1:倒序

    db..find().limit(n) 显示前n条数据

    db..find().skip(n) 跳过前n条数据

    条件查找

    db..find({属性:value}) 属性==值

    db..find({属性:{运算符:value}})

    运算符:

    $lt       小于

    $lte     小于等于

    $gt      大于

    $gte    大于等于

    $ne     不等于

    对同一属性使用两个运算符

    db..find({ 属性: { 运算符1:value, 运算符2:value } })

    如:db..find({ age: { $gt: 6, $lt: 16 } })

    对不同属性同时限定条件(两个条件同时成立)

    db..find( {属性1: { 运算符:value }, 属性2: { 运算符:value }})

    或条件

    db..find({

    $or: [

    {属性: value},

    {属性: value},

    {属性: value}

    ]

    })

    使用函数筛选数据

    db..find({

    $where: function(){

    return true/false

    }

    })

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告