linux下mongodb的终端命令 建集合、插入、删除、修改、查询

 
    客户端:        连接服务器:            mongo        查看参数:            mongo --help        退出mongo服务:            exit 或 ctr + c        查看当前使用数据库(登录后默认使用test数据库):            db        查看所有数据库(物理真实创建出来的数据库):            show dbs        切换数据库(use不存在的库会在内存中临时建库,之后创建集合文件会自动在物理上创建这个数据库):            use 库名        删除当前使用的数据库(如果数据库不存在就什么也不做):            db.dropDatabase()
集合命令:    创建集合(在使用的库里):        db.createCollection(集合名 [,选项] ) //选项是可以省略

创建一个不限制大小的集合stu:            db.createCollection("stu")

创建一个限制大小的集合stu:        db.createCollection("stu", {capped:true,size:10} )            //stu为集合的名字            //capped 为true表示限制数据总量大小 false不限制,默认为false            //size:10 表示最大能存10字节的数据,如果size小于256,都会默认创建256上限            //如果存入数据超出容量上限,会淘汰掉最先插入的数据

查看当前数据库的集合:        show collections

删除集合:        db.集合名.drop()

MongoDB常用的数据类型:    ObjectID:        键为_id的数据类型。是文档id,每个文档都有这个属性,默认的主键,保证每个文档唯一        可以自己指定_id的值,如果不指定,mongodb会自己维护        objectID是一个12字节的十六进制数:            前4字节是当前时间戳            接下来3字节是机器的ID            接下来2字节是mongodb的服务进程id            最后3字节是自增量    String:        字符串,最常用的数据类型,必须你是utf-8类型    Boolean:        存储布尔值 true或者false    Integer:        整数类型,可以是32位或64位与操作系统相适应    Double:        浮点数据类型。    Arrays:        数组或列表,多个值存到一个键    Object:        文档的数值类型,用于嵌入式文档    Null:        存储null值    Timestamp:        时间戳,表示从1970-1-1至今的秒数    Date:        时间,存储当前日期或者UNIX时间格式。        创建时间类型数据: new Data("YYYY-MM-DD")

数据的操作:

1 插入数据:    db.集合名.insert(文档)

不指定_id的话mongodb帮我们维护    例如: db.stu.insert({name:"haha",gender:1})

也可以指定_id    例如: db.stu.insert({_id:‘20171221‘,name:"哈哈",gender:1})

2 修改数据:    2.1 替换修改:        db.集合名.update(            <query>,    //条件            <update>,    //用该文档替换符合条件的文档来更新            {multi:<boolean>}   //可选参数 默认false                //multi 为false 表示只更新第一条符合条件的数据                //multi 为true  表示所有数据都更新        )

例如:将年龄是18岁的名字改成老马,只修改第一条        db.stu.update(            {age:18},  //条件,年龄是18岁的数据            {name:"老马"} //这个文档会替换符合条件的文档做出更新,其他键值对都会丢失,只留下name                    // multi 默认false 代表只更新第一条符合条件的                    // {multi:true} 表示所有符合条件的数据都更新        )

2.2 指定键值对修改,不替换: $set:{}        例如:全部18岁的学生的名字改成老马,其他键值对不替换        db.stu.update(            {age:18},   //条件            {&set{name:"老马"}},  //指定键值对修改,不丢失键值对            {multi:true}    //所有符合条件的数据都修改        )

2.3 保存(如果文档的_id不存在,则新建一个,如果存在则是进行修改):        db.集合名.save(文档)            例如:db.stu.save({_id:‘20160102‘,‘name‘:‘yk‘,gender:1})

2.4 删除        db.集合名.remove(            <query>,    //必填参数,删除条件            {justOne:<boolean>} //可选参数                    //justOne 默认false,代表删除所有符合条件的文档                    //justOne 设为true 代表删除第一条符合条件的文档        )

例如:        删除全部文档            db.stu.remove({])   //条件是必选参数,全部删除要传入空{}        删除年龄为18的学生,只删除一条            db.stu.remove({age:18},{justOne:true})

3 数据查询    基本查询 find():        db.集合名.find({条件})   //查询所有        db.集合名.findOne({条件})   //查询一条        db.集合名.find({条件}).pretty()  //格式化查询结果

例如: 查询所有数据            db.stu.find({}) //查询所有数据            db.stu.find({age:18}).pretty()  //年龄为18的格式化输出

3.1 比较运算符:        等于:   默认等于  没有特殊运算符        小于:     &lt      less than        小于等于: &lte      less than equal        大于:     &gt      greater than        大于等于:  &gte     greater than equal        不等于:   &ne        not equal

例如:查询年龄大于18的学生:            db.stu.find({age:{&gt:18}})    3.2 逻辑运算符:        逻辑与: 默认就是与关系        逻辑或:$or{条件}

例如:查询年龄大于18并且性别为1的学生            db.stu.find({ age:{&gt:18} , gender:1} )        例如:查询年龄大于18或者性别为0的学生            db.stu.find($or{ age:{&gt:18},gender:0 } )

逻辑或和逻辑与一起使用:            查询年龄大于18或者名字是郭靖,并且性别为1            db.stu.find( $or{ age:{&gt:18},name:"郭靖" },gender:1 )

3.3 范围运算符:        $in:[] 在其中:            年龄是18或者28的学生:            db.find( { age:{$in:[18,28]} } )        $nin:[] 不在其中            年龄不是18或者28的学生:            db.find( { age:{$nin:[18,28]} } )

3.4 正则表达式匹配 "/reg /"或regex:"reg" :        查询姓黄的学生:        db.stu.find( {name:"/^黄/"} ) 或者 db.stu.find( {name:{$regex:"^黄"}} )

3.5 自定义(函数)查询$where        mongodb的终端实际上也是js的编译器,利用js匿名函数        db.stu.find({                $where:js匿名函数{                    //必须返回一个bool类型的值 是查询条件                    return 条件                }        })

例如:查询年龄大于30的学生        db.stu.find({            $where:function(){                return this.age>30;            }        })

3.6 limit和skip:        db.集合.find().limit(num):只显示查询结果的前num条        db.集合.find().skip(num):越过前num条数据从下一条开始显示

可以联合使用:            db.stu.find({}).skip(5).limit(3)            // 越过前5条从第6条开始显示3条            db.stu.find({}).limit(3).skip(5)            //skip和limit挑换顺序执行效果是一样的

3.7 投影(指定字段显示查询结果):        db.集合.find({条件},{ 字段1:1,字段2:1,字段3:0 })            //条件后跟一个参数,0代表在查询结果中不显示 1代表显示

例如:只查看姓名和性别:            db.stu.find({},{name:1 , gender:1 })            // _id 是默认会显示出来的,如果要不显示_id 需要特殊指定            // 投影设为1后 除了_id 其他的参数都是默认显示的

不显示_id:            db.stu.find({},{_id:0,name:1})

3.8 排序 sort() :        db.集合.find().sort({字段1:1,字段2:-1})            // 指定字段排序,1代表升序,-1代表降序

例如:根据年龄升序、性别降序排序            db.stu.find({}).sort({age:1,gender:-1})

3.9 统计个数 count():        db.集合.find({条件}).count()        或 db.集合.count({条件})

例如: 统计男生人数            db.stu.find({gender:1}).count()            或者db.stu.count({gender:1})

例如: 统计年龄大于18的男生            db.stu.count({age:{&gt:18}},gender:1)

3.10 消除重复 distinct() :        db.集合.distinct("字段",{条件})

例如: 查询年龄大于18的男生来自哪些省份            db.stu.distinct("hometown",{age:{&gt:18},gender:1})
				
时间: 2024-10-14 20:29:15

linux下mongodb的终端命令 建集合、插入、删除、修改、查询的相关文章

Linux下那些奇葩的命令

相信喜爱编程,痴迷技术的你,肯定接触过甚至深爱着linux,甚至可能已经非常熟悉linux了,但是linux那逗比的一面,你又知道多少. 本文!纯粹娱乐!不喜勿喷! 1.程序员的愤怒! yes 当我们再终端输入yes命令,你就回看到愤怒地y怒刷屏! 2.小火车sl 我相信ls你每天输入无数次,但是sl你又知道不知道? 我们需要安装一下 sudo yum install sl ubuntu用户: sudo apt-get install sl 之后,再输入sl命令,哈哈,看到小火车没有! 3.无聊

Linux下的目录创建命令使用实践

[文章摘要] 本文以实际的C源程序为例子,介绍了Linux下的目录创建命令(mkdir)的使用方法,为相关开发工作的开展提供了有益的参考. [关键词] C语言  Linux  目录创建  makefile  开发 一.mkdir命令简介 mkdir命令用来创建指定名称的目录,其命令格式为:mkdir [选项] 目录... 其中,[选项]可以是"-m"."-p"或"-v".此外,目录名是区分大小写的. 二.本程序流程 本文中的程序用于实现创建目录的

Linux下mongodb安装及数据导入导出教程

Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1.到mongodb的官网(https://www.mongodb.org/downloads) 下载相应你系统的安装包,拷贝(能够用ftp工具如winscp)到你的linux系统上面. 2.解压相应的安装包 命令例如以下:tar zxvf mongodb-linux-x86_64-3.0.4.tgz

二十七、Linux下常用的shell命令记录

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /pro

二十八、Linux下Vim工具常用命令

在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来. 当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了.Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令 移动命令 h "左 j "下 k "上 l "右 w "光标移动到下一个单词的首字符 a word forward b "光标移动到上一个单词的首

linux下神奇的script命令

script 是一个神奇命令,script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看.script 的好处就在于你在终端中的所有操作.敲过的命令和打印出的结果它都可以原原本本地进行录制.可以应用于教学.演示.审计. 一般来说,script 和 scriptreplay 在 Linux 发行版中都有默认安装. script -t 2>demo.time -a demo.his 开始录像,ctrl+d或者exit结束 scriptrepla

linux下mysql操作的命令

最近在学习mysql,还是只菜鸟,找到下面篇文章对初学者挺有用的,所以共享下 1.linux下启动mysql的命令:   mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令:   mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3.linux下关闭mysql的命令:   mysqladmin shutdown   /ect/

linux下安装mysql及命令学习

目录: 1. 安装mysql 2. mysql文件部署 3. mysql启停命令 4. 连接数据库 5. 操作数据库命令 6. 数据的导入导出 7. 其他 1.安装mysql 1.使用yun安装mysql,可自动安装完成 yun install mysql mysql-server #询问是否要安装,输入Y即可自动安装,知道安装完成 2.为mysql的root账户设置密码 mysql_secure_installation 回车,根据提示输入Y     输入2次密码,回车     根据提示一路输

Linux下mongodb

Linux下mongodb安装: 新建mongodb文件夹 下载安装包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 解压 tar -zxvf  mongodb-linux-x86_64-3.0.6.tgz 然后移动到你安装目录 mv  mongodb-linux-x86_64-3.0.6/  /usr/local/mongodb/mongodb3.0.6 添加到path路径中 PATH=/usr/