首页> MongoDB教程

MongoDB常用命令小结

withpy 2021-07-19

简介这篇文章主要介绍了MongoDB的一些常用命令,学习与使用MongoDB数据库的朋友可以参考下

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("<集合名>", {<options>}) 创建集合 注:参数二可选对象 属性          说明 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 } })

相关文章

  • 详解php中implode explode serialize json msgpack性能对比

    这篇文章主要介绍了php中implode/explode、serialize、json、 msgpack性能对比,对性能感兴趣的同学,可以参考下

  • JavaScript实现异步提交表单数据

    这篇文章主要为大家详细介绍了JavaScript实现异步提交表单数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  • 用python实现一个简单计算器(完整DEMO)

    这篇文章主要介绍了用python实现一个简单计算器(完整DEMO),需要的朋友可以参考下

  • 浅析mysql 定时备份任务

    这篇文章主要介绍了mysql 定时备份任务的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

  • C++常用函数之XML JSON格式转换问题

    XML在Json出现前应用很广泛,灵活性好,应用语言也没有限制,发展了这么长时间后xml标准已经很臃肿。这篇文章主要介绍了C++常用函数之XML JSON格式转换问题,需要的朋友可以参考下

  • Unity调用打印机打印图片

    这篇文章主要为大家详细介绍了Unity通过调用打印机打印图片的代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下