`
千年松鼠
  • 浏览: 25004 次
文章分类
社区版块
存档分类
最新评论

MongoDB 命令备忘

阅读更多

启动mongo服务
mongod [--dbpath 数据库路径][--logpath 日志][--config 从配置文件启动][--auth 开启验证][--bind_ip 127.0.0.1 绑定ip(只能用本机连)]

创建用户
[use admin 创建管理员用户]
db.addUser("root","hellomongo")
[db.createUser({user:"root",pwd:"root",roles:["readWrite"]})]
    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

验证用户
db.auth("root","hellomongo")


登录mongo
mongo

列出数据库
show dbs

链接数据库(创建)
use dbname

删除所在数据库
db.dropDatabase()

创建名为collection1的集合
db.createCollection("collection1")

删除collection1
db.collection1.drop()

向collection1中插入文档{name:"xp"},若collection1不存在则创建collection1
db.collection1.insert({"name":"xp"})

列出所有collections
show collections

查看集合名为collection1的集合
db.collection1.find()
[.pretty()格式化]
[.limit(n)限制返回个数n]
[.sort({"age":-1})按age降序排序]


查询collection1中name=xp的文档
db.collection1.find({"name":"xp"})

查询collection1 但是解雇中不列出name属性
db.collection1.find({},{"name":0})

查询collection1中age值大于17的文档
db.collection1.find(
  { "age" :
    { $gt: 17}
  })

$gt:大于
$lt:小于
$gte:大于或等于
$lte:小于或等于

in查询 not in($nin)
db.collection1.find(
{
  name:{
        $in:["xp","tr"]
       }
})

查询collection1中 prefer值包含ball(可用正则表达式匹配)的文档,且忽略大小写
db.collection1.find({
  prefer:
    {
      $regex:"ball",
      $options:"i"
    }
})

查询collection1中所有prefer包含ball的文档
db.collection1.find({"prefer":/ball/})

查询collection1中prefer包含ball,并且gender=girl的文档
db.collection1.find({
  "prefer":/ball/,
  "gender":"girl"
})

查询collection1中name=lily或name=lucy的文档
db.collection1.find({
  $or:[
    {"name":"lily"},
    {"name":"lucy"}
  ]
})

查询collection1中文档个数 (可以用条件过滤)
db.collection1.count()

查询每个学校的人数,并按人数降序排序
db.message.aggregate(
[
  {$group:
    {
      _id:"$school",
      num:{$sum:1}
    }
  },
  {$sort:
    {
      num:-1
    }
  }
])

删除collection1中的文档 (可以用条件过滤)
db.collection1.remove()

向collection1中插入文档{name:"xp"},若collection1不存在则创建collection1
db.collection1.insert({"name":"xp"})

更新name=xiaoming的文档,使gender=male、prefer=basketball
db.collection1.update(
  {name:"xiaoming"},
  {$set:
    {
      gender:"male",
      prefer:"footBall"
    }
  })

替换现有的id=sfsfse35的文档
db.collection1.save({id:"sfsfse35",name:"nobody",home:"here"})

建索引
db.collection.ensureIndex({"name":1})

删索引
db.collection.dropIndex({"name":1})

查看索引
db.collection.getIndexes()



运维



备份(完全备份)
mongodump [-h serverhost] -d database(要备份的数据库) -o path(备份存放路径)

还原
mongorestore -d database(还原后的数据库名) [--drop 还原前删除原有collection] path(备份文件所在路径)

备份单个collection
mongoexport -d database -c collection(要备份的文档) -o file(备份到文件)

回复单个collection
mongoimport -d dbhost -c collectionname [–type (default: json (json,csv,tsv))] [–headerline(不导入第一行)] –file filename

给数据库加写入锁(备份前可已上锁)
db.runCommand({"fsync":1,"lock":1})

解锁
db.$cmd.sys.unlock.findOne()

查看当前锁状态
db.currentOp()

关闭服务
db.shutdownServer()

查看集合读写占用时间
mongotop

查看锁
db.serverStatus()

查看集合锁
db.collection.status()


聚合查询

表达式            描述                实例
$sum 总结从集合中的所有文件所定义的值. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])
$avg 从所有文档集合中所有给定值计算的平均. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}])
$min 获取集合中的所有文件中的相应值最小. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}])
$max 获取集合中的所有文件中的相应值的最大. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}])
$push 值插入到一个数组生成文档中. db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}])
$addToSet 值插入到一个数组中所得到的文档,但不会创建重复. db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}])
$first 根据分组从源文档中获取的第一个文档。通常情况下,这才有意义,连同以前的一些应用 “$sort”-stage. db.mycol.aggregate([{$group : {_id : "$by_user", first_url : {$first : "$url"}}}])
$last 根据分组从源文档中获取最后的文档。通常,这才有意义,连同以前的一些应用 “$sort”-stage. db.mycol.aggregate([{$group : {_id : "$by_user", last_url : {$last : "$url"}}}])


分享到:
评论

相关推荐

    MongoDB命令备忘

    NULL 博文链接:https://edgenhuang.iteye.com/blog/1979925

    MongoDB命令查询.txt

    MongoDB命令查询.txt

    MongoDB常用命令批处理

    MongoDB常用命令批处理,包括安装服务/启动服务/带授权认证的服务/移除服务等。其中.bat为windows平台,.sh为linux平台(只测过centos7)

    MongoDB常用命令汇总

    包含对数据库、集合、文档的常用操作。

    mongodb命令学习手册.pdf

    MongoDB命令学习手册.pdf文档大部分内容来自 MongoDB 官网网站, 经过提炼出主要的部分MongoDB的基础入门, 方便快速了解和上手MongoDB!

    mongodb常用命令大全

    mongodb常用命令大全,包括大部分的命令,从安装到使用

    mongoDB学习 命令 安装

    mongoDB学习 命令 安装 总结 mongoDB学习 命令 安装 总结mongoDB学习 命令 安装 总结mongoDB学习 命令 安装 总结mongoDB学习 命令 安装 总结mongoDB学习 命令 安装 总结mongoDB学习 命令 安装 总结

    MongoDB命令

    改文档记录了MongoDB的添加、修改、查询、删除的基本所有命令,并有注解(英文)

    mongodb 操作命令(全)

    mongodb 操作命令(全) 包括: 数据库相关的操作 集合相关操作 用户相关操作 。。。。。

    WeaveOne#blog#MongoDB命令及其MongoTemplate的混合讲解1

    前言前面讲解了如何在springboot中集成mongodb,本文将讲解mongodb命令操作及其MongoTemplate的使用。穿插的目的在于不用先去寻找m

    mongodb常用命令.txt

    在centos7下安装部署mongodb分片+副本集群常用命令整理,内容包含,安装、配置、启动、访问shell终端等命令

    mongoDB:MongoDB备忘单

    mongoDB:MongoDB备忘单

    mongodb命令介绍

    这个是最近学习MongoDB,整理出来的一下关于MongoDB简单的使用命令

    MongoDB_命令.docx 命令集合

    对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低...

    Mongodb常用命令和java调用

    Mongodb常用命令和java调用 比较好噢

    mongoDb 常用命令

    mongodb php distinct command --- mongoDb 常用命令

    mongodb命令整理1

    声明主节点:--master声明从节点(从节点默认不能插入数据,只能读取数据)副本集(和集群的区别在于副本集有自动故障恢复的功能)也就是说副本集中的主节点挂掉后

    MongoDB runCommond命令.pdf

    MongoDB runCommond命令.pdf 学习资料 复习资料 教学资源

    在linux下配置 和启动mongodb

    在linux下配置 和启动mongodb 此为非常简单的配置

    mongodb基本命令和实例

    1、show dbs 显示当前数据库服务器上的数据库 2、use pagedb 切换到指定数据库pagedb的上下文,可以在此上下文中管理pagedb数据库以及其中的集合等 3、show collections 显示数据库中所有的集合(collection) ...

Global site tag (gtag.js) - Google Analytics