文档章节

mongodb的命令大全

渺渺星辰
 渺渺星辰
发布于 2017/07/31 16:17
字数 1899
阅读 22
收藏 0

1.创建数据库,使用命令 use 数据库名称 ,如:use mydb1
2.删除当前数据库,使用命令 db.dropDatabase()在哪个数据库下面就删除哪个
3.查看所有数据库,使用命令  show dbs
4.查看当前所在数据库,使用命令 db
5.查看当前数据库中所有的集合,使用命令 show collections 或使用show tables
6.创建集合有两种方式,显示创建和隐式创建
    6.1 显示创建可以使用命令 db.createCollection(“集合名称")
    6.2 隐式创建可以使用命令 db.集合名称.insert({}),指创建集合并同时向集合中插入数据,例如:
    db.customer.insert({name:”jack”})
7.向集合添加文档,使用命令 db.集合名称.insert({}),例如:db.user1.insert({name:”jack”,age:20})
8.使用js脚本向集合添加文档例如:
    在mongodb中可以使用js脚本, 例如:用脚本直接插入10000条数据.
    for(var i=1;i<=10000;i++){
       db.c1.insert({name:"dsadasd",age:i})
    }

9.删除集合中的文档,使用命令 db.集合名称.remove({删除条件})

   不加删除条件为删除集合中的所有文档,例如(删除c1集合中的所有文档):db.c1.remove() 

    删除c1集合中name为user1的文档,例如:  db.c1.remove({name:”user1”})
10.查询集合中的文档,可以使用命令 db.集合名称.find({条件})

     或者使用(查询第一个文档db.集合名称.findOne()
11.查询集合中的文档,返回某些特定的键值
    db.col.find({},{key:1})---->(_id默认请情况下显示)   

   #第一个{}放 where 条件,为空表示返回集合中所有文档    

  #第二个{}指定那些列显示和不显示 (0表示不显示 1表示显示)

  例子:db.c1.find({name:'user1'},{age:1})  ---->查询出name为user1的age的值(此处会有_id)

          db.c1.find({name:'user1'},{age:1,_id=0})  ---->查询出name为user1的age的值(此处不会有_id)
12.查询集合中的文档 ,使用条件表达式(<, <=, >, >=,!=)

操作 格式 范例 RDBMS中的类似语句
等于

{<key>:<value>}

db.c1.find({'shuxue':20}).pretty()

where 'shuxue'=20

小于

{<key>:{$lt:<value>}}

db.c1.find({'shuxue':{$lt:80}}).pretty()

where 'shuxue' <80

小于或等于 {<key>:{$lte:<value>}} db.c1.find({'shuxue':{$lte:20}}).pretty()

where 'shuxue' <=20

大于 {<key>:{$gt:<value>}} db.c1.find({'shuxue':{$gt:40}}).pretty() where 'shuxue' >40
大于或等于 {<key>:{$gte:<value>}}

db.c1.find({'shuxue':{$gte:10}}).pretty()

where 'shuxue' >=10
不等于

{<key>:{$nt:<value>}}

db.c1.find({'shuxue':{$nt:40}}).pretty()

where 'shuxue' !=40

13.查询集合中的文档 ,统计(count)、排序(sort)、分页(skip、limit)
   db.c1.count()   //统计c1集合中的数据总数
   db.c1.find().count();//统计c1集合中的数据总数和上一个一样
   db.c1.find({age:{$lt:5}}).count();//统计c1集合中 age<5 的数据总数
   db.c1.find().sort({age:1}); 降序-1,升序1//将c1集合中的数据按照age字段的升序排列
   db.c1.find().skip(2).limit(3);//从2【0开始】开始的后面3条记录
   db.c1.find().sort({age:-1}).skip(2).limit(3);//age降序排列,从2开始的后面3条数据
14.查询集合中的文档

    $all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回(列表中只有都匹配到才返回)
    实例($all全部匹配):  

   db.c1.insert({"name":'wz',"post":[3,4]})   //c1中插入一条文档
   db.c1.find({post:{$all:[3,4]}})   //查询c1中post中有3,4的文档(必须存在3和4)
   db.c1.find({post:{$all:[2,3,6]}})//统计c1集合中 post中存在1,2,3,6的文档----->此处没有匹配到
15.查询集合中的文档 ,$in,类似于关系型数据库中的IN(承接上面的例子)
   db.c1.insert({"name":'wz',"post":[2,3,4]})   //再在c1中插入一条文档
   db.c1.find({post:{$in:[3,4]}})   //查询c1中post中有3或者有4文档----->此时后有两条记录
   db.c1.find({post:{$in:[1,2,3,6]}})//统计c1集合中 post中存在1,2,3,6的文档----->显示两条(因为都有3)
16.查询集合中的文档 ,$nin,与$in相反(不包含)
   db.c1.find({post:{$nin:[3,4]}})   //查询在c1中post值不包含3,4的文档
17.查询集合中的文档 $or,相当于关系型数据库中的OR,表示或者的关系:

例如查询name为user2或者age为3的文档,命令为:db.c1.find({$or:[{name:”user2”},{age:3}]})
18.查询集合中的文档 ,$nor,表示根据条件过滤掉某些数据,例如查询name不是user2,age不是3的文档,命令为:db.customer.find({$nor:[{name:”user2”},{age:3}]})
19.查询集合中的文档,$exists,用于查询集合中存在某个键的文档或不存在某个键的文档

例如查询c1集合中存在name键的所有文档,可以使用 db.c1.find({name:{$exists:1}}),
$exists:1表示真,指存在,$exists:0表示假,指不存在
20.查询集合中的文档 ,类似于关系型数据库,mongodb中也有游标的概念
var x=db.score.find()   //将c1集合赋值给x

x.hasNext()----->//返回true

x.next()------>逐条现实文档内容
21.更新集合中的文档,语法如下:
   db.collection.update(criteria,objNew,upsert,multi)

   参数说明:
   criteria:用于设置查询条件的对象
   objNew:用于设置更新内容的对象
   upsert:如果不存在update的记录,是否插入objNew:true/1为插入,默认是false/0,不插入
   multi:默认是false,只更新找到的第一条记录,参数为true,就把按条件查出来多条记录全部更新

   注意:默认情况下,只会更新第一个符合条件的记录
   一般情况下后两个参数分别为0,1 ,即:db.collection.update(criteria,objNew,0,1)
22.更新集合中的文档,将集合中name为user1的文档改成name为jack
     实例:db.c1.update({name:"user1"},$set:{name:"jack"})
23.更新集合中的文档, $set 用来指定一个键的值,如果这个键不存在,则创建它。

例如:给name为user1的文档添加address,可以使用命令:

          db.c1.update({name:”user1”},{$set:{address:”bj”}},0,1)
   将name为user1的文档修改address为tj,其它键值对不变,命令为:
          db.c1.update({name:”user1”},{$set:{address:”tj”}},0,1)
24.更新集合中的文档,使用 $inc 将集合中name为user1的age加1,其它键不变, $inc表示使某个键值加减指定的数值(正数为加,负数为减)
   实例:db.c1.update({name:”user1”},{$inc:{age:1}},0,1)
25.更新集合中的文档, $unset 用来删除某个键,例如删除name为user1的文档中的address键,可以使用命令:
     实例:db.c1.update({name:”user1”},{$unset:{address:1}},0,1)

26.删除集合中的文档例如删除name为user1的文档,可以使用命令:

    语法:db.collection.remove( <query>, { justOne: <boolean>} )

     query:(可选)删除的文档的条件

     justone:(可选) 如果是true,只删除一个文档,默认为false,能够查到就都删除
     实例:db.c1.remove({name:”user1”})    //删除所有name为user1的文档

            db.c1.remove({name:”user1”},1)    //删除查到name为user1的第一条文档             

            db.info.remove() <---> truncate()   //删除所有的集合中的记录

27.创建普通索引,使用命令 db.collection.ensureIndex({key:1})
     查看关于索引的相关信息,使用命令 db.collection.stats()
    查看查询使用索引的情况,使用命令   db.collection.find({key:value}).explain()
    删除索引,使用命令 db.collection.dropIndex({key:1})
    删除集合,也会将集合中的索引全部删除

28.创建唯一索引,使用命令 db.collection.ensureIndex({key:1},{unique:true})
    查看关于索引的相关信息,使用命令 db.collection.stats()
    查看查询使用索引的情况,使用命令   db.collection.find({key:value}).explain()
    删除索引,使用命令 db.collection.dropIndex({key:1})
    删除集合,也会将集合中的索引全部删除

© 著作权归作者所有

共有 人打赏支持
渺渺星辰
粉丝 2
博文 33
码字总数 34632
作品 0
海淀
CentOS7下使用yum安装Mongodb3.4

1.创建mongodb3.4的yum源文件 在yum源文件目录中创建mongodb-org-3.4.repo 写入仓库文件 2.验证yum源文件是否有效 查看mongodb所需安装文件 3.安装mongodb所需包 MongoDB提供的官方安装文件包...

hengbao5
08/07
0
0
Windowns、Ubuntu17.10 下安装 MongoDB - [图文并茂]

Windows 下安装 MongoDB MongoDB 安装包下载 点击下载 Windowns 平台: MongoDB 安装包 MongoDB 下载中心 MongoDB 安装 运行安装包,单击Next 选择安装路径 单击Next,完成安装 安装完成后,...

kangvcar
2017/11/01
0
0
Mongodb从库数据重新初始化步骤

1、 从中心mongodb的服务器上导出中心最新的数据,步骤如下: 第一步:创建备份目录 到中心mongodb服务器上创建数据备份的目录 mkdir /var/monogdata 第二步:导出数据 然后到中心mongodb安装...

zmf
2015/06/18
0
0
Docker MongoDB 部署

MongoDB 是一款较为常用的NOSQL 数据库,结合 Docker 使用,能实现轻松配置部署、迁移,本文以下为简要介绍如何在 Docker 中部署并使用 MongoDB。下文主要分为几个部分,内容如下: MongoDB ...

speculatecat
04/06
0
0
阿里云ubuntu12.04下安装使用mongodb

阿里云ubuntu12.04下安装mongodb apt-get install mongodb 阿里云ubuntu12.04下卸载mongodb,同时删除配置文件 apt-get purge mongodb-server 这样卸载mongodb的同时,/etc/mongodb.conf等配...

sdsimple
2014/02/19
0
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

获取多个集合列表的笛卡尔积

获取多个集合笛卡尔积 电商中典型业务场景:商品搜索 单属性属性值之间为并查询 不同属性的属性值之间查询为与查询 import java.util.ArrayList;import java.util.List;/** * Created w...

键走偏锋
8分钟前
0
0
echarts 迁移地图 控制鼠标缩放大小比例

在网上找了好久没有找到解决方式,还是重新看了一下文档,终于找到的解决方案, zoom:1, //默认显示级别 scaleLimit:{min:1,max:3}, // 缩放级别 echarts 文档-配置项链接 http://echarts.b...

心驰
11分钟前
0
0
Boot2Docker ISO is out-of-date,

Boot2Docker ISO is out-of-date, downloading the latest release. 使用docker-machine时无法更新Boot2Docker ISO导致创建vm machine失败 解决方法:关闭网络,创建好之后再开启...

writeademo
19分钟前
0
0
在 Tomcat 中设置 Tapestry 框架的 html 热加载

如果开发中使用到了 Tapestry 这个框架,如果事先没有设置过的话,开发的时候 html 是不会热加载的,也就是说修改了 html 文件,不能刷新浏览器后立马看到修改完的效果,必须先重新启动应用服...

LeoXu
41分钟前
0
0
【微服务】开启巨石应用到微服务的探索

背景 在过去的一年时间里,我一直在从事一件事情,将现有的单体应用(巨石应用)向微服务改造。 接下来,将持续整理一些在微服务路上的学习与成长。 为什么要做微服务 单体应用,开发、部署简...

艳沐石
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部