mongodb 常用的命令

对数据库的操作,以及登录

1 进入数据库

use admin

2 增加或修改密码

db.addUser('wsc', '123')

3查看用户列表

db.system.users.find()

4 #用户认证

db.auth('wsc', 123)

5 #删除用户

db.removeUser('wsc')

6 #查看所有用户

show users

7 #查看所有数据库

show dbs

8 #查看所有的collection集合

show collections

9 #查看各个collection的状态

db.printCollectionStats()

10 #查看主从复制状态

db.repairDatabase()

11 #修复数据库

db.repairDatabase()

12 #设置profiling,0:off 1:slow 2 all

db.setProfilingLevel(1)

13 #查看profiling

show profiling

14 #拷贝数据库

db.copyDatabase('wsc', 'wsc copy')

15 #删除集合collection

db.wsc.drop()

16 #删除当前数据库

db.dropDatabase()

mongodb的增删改查

1 #存储嵌套的对象

db.foo.save(
{
‘name’:wsc,
’age’:25,’address’:
{
‘city’:’shnaghai’,
’Province’:’shnaghai’
}
}
)

2#存储数组对象

db.foo.save(
{
‘name’:wsc,
’age’:25,
’address’:
[
‘anhui Province’,
’anhui Province’
]
}
)

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

db.foo.update(
{
‘age’:’25’
},
{
‘$set’:
{
‘name’:’xingoo’
}
},
upsert=true,
multi=true
)

4 #删除yy=5的记录

db.foo.remove({'name':'wsc'})

5 #删除所有的记录

db.foo.remove()

索引

1 #增加索引:1 asc -1 desc

db.foo.ensureIndex(
{
firstname:1,
lastname:-1
},
{
unieap:true
}
)

2 #索引子对象

db.foo.ensureIndex({‘Al.Em’:!})

3 #查看索引信息

db.foo.getIndexes()
db.foo.getIndexKeys()

4 #根据索引名删除索引

db.foo.dropIndex(‘Al.Em_1’)

查询,利用条件操作符进行查询,并和sql语句进行对比

条件操作符

 1 gt ---- >
2 $lt ---- <
3 $gte ---- >=
4 $lte ---- <=
5 $ne ---- != 、<>
6 $in ---- in
7 $nin ---- not in
8 $all ---- all
9 $or ---- or
10 $not ---- 反匹配

1 查询所有记录

db.foo.find()   --- select * from foo

2 查询某列非重复的记录

db.foo.distinct('wsc') ---- select distinct name from foo

3 查询age = 22的记录

db.foo.find({"age":22)  ----- select * from foo where age = 22

4 查询age > 22的记录

db.foo.find({age:{$gt:22}}) ---- select * from foo where age > 22

5 查询age < 22 的记录

db.foo.find({age:{$lt:22}}) ---- select * from foo where age < 22

6 查询age <= 22 的记录

db.foo.find({age:{$lte:22}}) ---- select * from foo where age <= 22

7 查询age => 22 且 age <= 26 的记录

db.foo.find({age:{$gte:22,$lte:26}}) ---- select * from foo where age => 22 and age <= 26

8 #查询name中包含wsc的数据

db.foo.find({name:/wsc/}  ---- select * from foo where name like '%wsc%'

9 #查询name中以wsc开头的数据

db.foo.find({name:/^wsc/}) ---- select * from foo where name like 'wsc%'

10 #查询指定列name、age的数据

db.foo.find({}, {name:1, age;1})  ---- select name , age from foo

11 #查询制定列name、age数据,并且age > 22

db.foo.find({age:{$lt:22}}, {name:1, age;1})  ---- select name , age from foo where age > 22

12 #按照年龄排序

db.foo.find().sort({age:1}) 升序
db.foo.find().sort({age:-1}) 降序

13 #查询name=wsc .age=25的数据

db.foo.find({name:'wsc', age:25}) ---- select * from foo where name = 'wsc' and age = '25'

14#查询前5条数据

db.foo.find().limit(5)  ---- select top 5 from fo0

15 #查询10条以后的数据

db.foo.find().skip(10)  ---- select * from foo where id not in (select top 10 from foo)

16 #查询在5-10之间的数据

db.foo.find().limit(10).skip(5)

17 #or与查询

db.foo.find({$or:[{age:22},{age:25}]})  ---- select * from foo where age = 22 or age = 25
18 #查询第一条数据
db.foo.findOne()
db.foo.find.limit(1) ---- select top 1 * from foo

19 #查询某个结果集的记录条数

db.foo.find({age:{$gte:25}}).count()  ---- select count(*)  from where age >= 20

20 #按照某列进行排序(不懂)

db.foo.find({sex:{$exit:true}}).count()  ---- select count(sex) from foo

21 #查询age取模10等于0的数据

db.foo.find('this.age%10 == 0')
db.foo.find({age:{$mod:[10,0]}})

22 #匹配所有

db.foo.find({age:{$all:[22,25]}})

23 #查询不匹配name=X*带头的记录

db.foo.find({name:{$not:/^x.*/}})

24 #排除返回age字段

db.foo.find({name:'wsc'},{age:0})

25 #判断字段是否存在

db.foo.find({name:{$exits:true}})

对collection的管理

1 #查看collection数据大小

db.wsc.dataSize()

2 #查看collection状态

db.wsc.stats()

3 #查询所有索引的大小

db.wsc.totalIndexSize()

参考 连接

http://www.100mian.com/mianshi/mongodb/49183.html

mongodb 常用的命令的更多相关文章

  1. MongoDB 常用shell命令汇总

    //指定用户名和密码连接到指定的MongoDB数据库 mongo 192.168.1.200:27017/admin -u user -p password use youDbName 1.Mongo ...

  2. mongodb常用基础命令

    查看当前使用的数据库,也可以直接用dbdb.getName() 显示当前db状态db.stats() 当前db版本 db.version() 查看当前db的链接机器地址db.getMongo() 查看 ...

  3. (转)mongodb常用命令脚本化-自动化运维

    mongodb常用命令脚本化-自动化运维 把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护   1 设置副本集   #!/bin/bash#mongodb 进入client ...

  4. mongodb常用命令学习笔记

    mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...

  5. MongoDB常用操作

    (备注: 对于 window, 不需要sudo) 验证成功与否: * 启动服务器: $sudo mongod --dbpath C:\data\db (需要 指明数据库存放的目录) * 打开shell ...

  6. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  7. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  8. 常用Linux命令收集

    关闭 php-fpm: ps -ef | grep php-fpm  或    ps aux | grep php-fpm kill -USR2 32253  (对应的进程PID) kill -9 进 ...

  9. 分享一个常用Adb命令

    分享一个常用Adb命令 首先 首先感谢@xuxu的常用adb命令,收益良多,但是已经不能满足于我,所以补充了下. 再者 好久没发帖了,最近论坛老司机们都在讨论/总结,我就用这个干货回报吧. 最后 基于 ...

随机推荐

  1. 【Shell Basic】Shell脚本编写规范

    shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程 ...

  2. 谨慎使用递增/递减运算符(C++)

    递增++和递减运算符--不论看起来还是用起来,都感觉是十分简单而又优雅的,然而其中却藏有无法受控制的陷阱,我们必须小心的避免错误的用法而出现的不可控的情况发生. 比方说:x = 2* x++ *(3 ...

  3. NodeJS入门简介

    NodeJS入门简介 二.模块 在Node.js中,以模块为单位划分所有功能,并且提供了一个完整的模块加载机制,这时的我们可以将应用程序划分为各个不同的部分. const http = require ...

  4. jsp基本语法及运行原理

    一.jsp简介 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导.许多公司参与一起建立 ...

  5. 关于Eclipse启动报错,jvm版本不匹配的问题

    前几天重新下了个eclipse,eclipse需要java环境才能运行起来,我当时电脑上自己装了jdk1.8,然后直接运行新下载的eclipse,说我的jvm版本是1.6,但是我不记得安装过1.6的了 ...

  6. python+selenium自动化软件测试(第8章) :多线程

    前戏:线程的基础 运行多个线程同时运行几个不同的程序类似,但具有以下优点:进程内共享多线程与主线程相同的数据空间,如果他们是独立的进程,可以共享信息或互相沟通更容易.线程有时称为轻量级进程,他们并不需 ...

  7. linux shell 之终端读写文件数据流和重定向>,<,<<,>>

    终端实现文件中数据流的读写: 重定向命令列表如下: 命令 说明 command > file 将输出重定向到 file.将终端数据写到文件file中 command < file 将输入重 ...

  8. 第二篇--Jmeter测试Java请求

    前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...

  9. 基于linux vim环境python代码自动补全

    (一)简述 在使用vim编写python文件的过程中,默认的vim不会实现代码补全功能,在写程序或者是改程序的时候不是很方面,很容易出错,但是vim提供了各种插件,其中包括这个python文件的自动补 ...

  10. JavaScript--我发现!原来你是这样的JS(1)

    一.前言: 前段时间看红宝书(JavaScript高级程序设计),但没有计划的去看,也没有做详细的笔记,读了之后有点空虚,感觉不对劲啊,学的东西很难记住,印象不深啊,有种挫败感,作前端的js都学不好怎 ...