启动mongoDB 以及常用操作命令
nonsql 关系数据库
集合 表
文档 行
启动mongoDB之前首先手动创建存放MongoDB数据文件的目录,如e:\mongo_data
执行命令 mongod --dbpath=e:\mongo_data
这样麻烦
手动创建一个后缀名为bat的文件, 把命令 mongod --dbpath=e:\mongo_data 复制进去,以后执行就可以了。
或者把它当作系统的服务 ,启动它 在系统服务那边。
以上操作 mongoDB的服务器已经启动了。
mongo localhost:27017 连接 mongoDB服务器。
MongoDB 常用操作
mydb1 数据库 c1、user集合
show dbs 显示所有数据库
db 查看当前所在的数据库
show collections 查看当前数据库中所有的集合
show tables 查看当前数据库中所有的集合
use mydb1 如果存在这个数据库则进入,不存在则创建这个数据库
db.createCollection("集合名称") 显示创建集合
db.集合名称.insert({name:"jack",age:20}); 隐士创建集合
db.集合名称.drop() 删除集合
小示例:
for(var i=0;i<10;i++){
db.user.insert(name:"name"+i,age:i);} 添加了 10条记录
db.user.count(); 输出 数据条数
db.集合名称.remove() 把所有数据删除
db.user.remove({name:"user0"}) 删除指定的人
db.user.find() 查询所有
db.user.find({name:"user2"}); 查询条件
db.user.findone(); 查询文档第一个
第一个框是查询条件。第二个框显示 那些列显示不显示,
db.user.find({},{name:1}) 显示name 属性的 其他的属性不显示 1代表显示 0代表不显示
db.user.find().sort({age:1}) 根据age来排序 升序
db.user.find().sort({age:-1})根据age来排序 降序
count统计 skip limit 分页
skip(i)忽略第i条,limit 一页包含几条
第一页4条 skip(0).limit(4)
第二页4条 skip(4).limit(4)
第三页4条 skip(8).limit(4)
。。。。。。。。
db.user.find().sort({age:-1}).skip(0).limit(2).count(0) 显示 几条结果,看find()查出多少条 不管分页效果
db.user.find().sort({age:-1}).skip(0).limit(2).count(1) 显示分页效果
db.user.find({age:{$gt:5}}) 查询年纪大于5的
db.user.find({age:{$lt:5}})小于5的
$gte $lte $ne可以带入以上的命令
$all 数组中包含关系
示例
db.user.insert({name:"user11",age:22,post:[1,2,3,4]})
db.user.find({post:{$all:[1,2]}}) post key值中,包含条件中的所有 [1,2]的 都查出来查出来
关系数据库中 select* from user where id in(1,2,3)相当于 nonsql中的下面
$in
db.user.find({post:{$in:[1,99]}}) 只要包含条件中的一个1 或者99 存在其中一个 就都能查出来
$nin 与上面取反
关系数据库中 select* from user where id name="jack" or age=20相当于 nonsql中的下面
$or 两个不同的条件
db.user.find({$or:[{name:"user1"},{age:8}]}) 查询 或者的情况, 两种条件。
$exist:1 存在
$exist:0 不存在
db.user.find({post:{$exists:1}}) 存在 post这个键的
db.c1.insert({name:"jack",age:20}); 才会真正形成数据库的文件,否则 只存在内存中的数据库。 c1是集合的名字
db.drop.Database(); 删除数据库
db.help() 看帮助信息
var x=db.user.find();
x.next();
x.next(); 在记录中一条一条地游走 游标
x.hasNext();
db.collection.update(criteria,objNew,upsert,multi)
criteria:用于设置查询条件的对象
objNew 用于设置更新内容的对象
upsert:如果记录已经存在,更新它,否则新增一个记录,取值为0或1 0已经存在更新 1新增
multi:如果有多个符合条件的记录,是否全部更新,取值为0或1 1 为更新所有的
注意:默认情况,只会更新第一个符合条件的记录
一般情况下后两个参数分别为0,1即:
如果后两个参数不写 则默认是 1,0
db.collection.update({},{},0,1);
db.user.update({name:"user1"},{name:"abc"}) 会整条记录覆盖 把后面的age也删除
所以这个时候应该用到 $set
$set 更新值
db.user.update({name:"user3"},{$set{address:"nanjing"}},0,1)
db.user.update({name:"user3"},{$unset:{address:1}},0,1) 把address字段删除
$inc 年龄加1
db.user.update({name:"user4"},{$inc:{age:1}})
启动mongoDB 以及常用操作命令的更多相关文章
- MongoDB(1):常用操作命令大全
MongoDB常用操作命令大全(转) http://www.jb51.net/article/48217.htm 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操 ...
- MongoDB Shell 常用操作命令
MonoDB shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用javascript脚本完成操作的. Ø 数据库 1.Help查看命令提示 help db.help ...
- MongoDB常用操作命令大全
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作.输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个 ...
- windows mongodb最常用命令简单归纳
在windows安装好了windows,首先记得要把mongodb bin目录路径放在 系统环境变量的path中,确定之后即配置好了mongo的环境变量,在dos命令框中输入mongo会出现如下 版本 ...
- hadoop常用操作命令
#############centos6.8IP常用操作命令#######################DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED ...
- HBase常用操作命令
HBase常用操作命令 1.进入HBase脚本客户端 #hbase shell #进入HBase脚本客户端 > whoami #查看当前登录用户 > status ...
- Storm常用操作命令及WordCount
Storm常用操作命令 1.任务提交命令:storm jar [jar路径] [拓扑包名.拓扑类名] [拓扑名称] storm jar /export/servers/storm/examples/s ...
- 利用bat批处理做启动mongodb脚本
文章开始,我们先回顾一下,如何用cmd命令窗口开启mongodb数据库,命令如下: 开启mongodb数据库 cd D:\Program Files\MongoDB\bin mongod --depa ...
- mongoDB的常用语法
安装: 到mongodb官网下载安装包或者压缩包:https://www.mongodb.com/download-center?jmp=nav 1.如果是msi包的话则点击按步骤安装,如果是压缩包的 ...
随机推荐
- CSS控制print打印样式
来源:http://blog.csdn.net/pangni/article/details/6224533 一.添加打印样式 1. 为屏幕显示和打印分别准备一个css文件,如下所示: 用于屏幕显 ...
- hydra
转:http://www.cnblogs.com/patf/p/3142564.html 1.yum -y install openssl-devel pcre-devel ncpfs-devel p ...
- Git服务器搭建及SSH无密码登录设置
在Git服务器中建立一个git帐号,用于多人使用. adduser git输入此命令后,会在/home/下建立一个git文件 /home/git 下建立.ssh目录(注意,是.ssh..有个点!) c ...
- 学习Python遇到的那些坑
1. 初始化一个类,这个方法名必须为”__init__(object)“.顺便提一下,两边的下划线是均是2个 2. 每个程序块都要使用冒号!!!! 3. 如果程序中使用了非英文字符,需要在Python ...
- android中两种方式打开网页
一.你要打开一个网页你可以自己写一个webview,在自己的程序中就可以打开. wv = (WebView) findViewById(R.id.webView1); wv.getSettings() ...
- Centos Mysql 升级
如何升级CentOS 6.5下的MySQL CentOS 6.5自带安装了MySQL 5.1,但5.1有诸多限制,而实际开发中,我们也已经使用MySQL 5.6,这导致部分脚本在MySQL 5.1中执 ...
- Presto架构及原理
Presto 是 Facebook 推出的一个基于Java开发的大数据分布式 SQL 查询引擎,可对从数 G 到数 P 的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别,据称该引擎的性能是 ...
- R(六): RODBC 访问SqlServer
在我的实际工作中,数据来源一方面是关系型数据库MS SqlServer, 别一方面是HBase.本节主要介绍通过RODBC访问MS SqlServer 安装配置,参见资料(https://msdn.m ...
- Google Play开发者账号注册与失败申诉攻略
Google Play开发者账号注册与失败申诉攻略 这篇文章我在网上找了好久,是在Google play进行开发者账号注册方法,介绍的很详细.现在分享一下.[原文地址] 为了方便开发者们注册谷歌的官方 ...
- scala vs java 相同点和差异
本贴是我摘抄自国外网站,用作备忘,也作为分享! Similarities between Scala and Java Following are some of the major similari ...