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 以及常用操作命令的更多相关文章

  1. MongoDB(1):常用操作命令大全

    MongoDB常用操作命令大全(转) http://www.jb51.net/article/48217.htm 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操 ...

  2. MongoDB Shell 常用操作命令

    MonoDB   shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用javascript脚本完成操作的. Ø 数据库 1.Help查看命令提示 help db.help ...

  3. MongoDB常用操作命令大全

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作.输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个 ...

  4. windows mongodb最常用命令简单归纳

    在windows安装好了windows,首先记得要把mongodb bin目录路径放在 系统环境变量的path中,确定之后即配置好了mongo的环境变量,在dos命令框中输入mongo会出现如下 版本 ...

  5. hadoop常用操作命令

    #############centos6.8IP常用操作命令#######################DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED ...

  6. HBase常用操作命令

    HBase常用操作命令 1.进入HBase脚本客户端 #hbase shell #进入HBase脚本客户端 > whoami    #查看当前登录用户 > status           ...

  7. Storm常用操作命令及WordCount

    Storm常用操作命令 1.任务提交命令:storm jar [jar路径] [拓扑包名.拓扑类名] [拓扑名称] storm jar /export/servers/storm/examples/s ...

  8. 利用bat批处理做启动mongodb脚本

    文章开始,我们先回顾一下,如何用cmd命令窗口开启mongodb数据库,命令如下: 开启mongodb数据库 cd D:\Program Files\MongoDB\bin mongod --depa ...

  9. mongoDB的常用语法

    安装: 到mongodb官网下载安装包或者压缩包:https://www.mongodb.com/download-center?jmp=nav 1.如果是msi包的话则点击按步骤安装,如果是压缩包的 ...

随机推荐

  1. 通过js对表单对象的便捷获取

    <form name="a"> <input name="s" value="33"/> </form> ...

  2. java_stack

    栈是一种数据结构,它代表只能在某一端进行插入.删除操作的特殊线性表. 栈的最大特点是是后进先出(First In Last Out),对栈的操作主要是入栈和出栈,判断栈是否为空,计算栈的大小. 对栈而 ...

  3. 九度OJ题目1387斐波那契数列

    /*斐波那契数列,又称黄金分割数列,指的是这样一个数列: 0.1.1.2.3.5.8.13.21.…… 在数学上,斐波纳契数列被定义如下: F0=0,F1=1, Fn=F(n-1)+F(n-2)(n& ...

  4. 前端优化:DNS预解析提升页面速度

    在网页体验中我们常会遇到这种情况,即在调用百度联盟.谷歌联盟以及当前网页所在域名外的域名文件时会遇到请求延时非常严重的情况.那么有没有方法去解决这种请求严重延时的现象呢? 一般来说这种延时的原因不会是 ...

  5. AMD规范基本结构

    AMD规范:使用 define 和 require ,基本结构如下: // 定义模块 define(['moduleA', 'moduleB', 'moduleC'], function (modul ...

  6. jquery的$.extend和$.fn.extend作用及区别.txt

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); (1)类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax ...

  7. Java compiler level does not match the version of the installed Java project facet.问题

    从同事那里拷贝过来的web项目,导入到eclipse中,出现Java compiler level does not match the version of the installed Java p ...

  8. Hive(七):HQL DML

    HQL DML 主要涉到对Hive表中数据操作,包含有:load.INSERT.DELETE.EXPORT and IMPORT,详细资料参见:https://cwiki.apache.org/con ...

  9. jsPlumb 学习笔记

    介绍 使用svg完成画图,四个概念: anchor: endpoint在的位置,可通过name访问 endpoint:connection的一端节点,通过addPoint makeSource, co ...

  10. 【extjs】 Extjs中的Ext.grid.Panel隐藏列会显示在表头中解决方法

    在Extjs中的GridPanel会有这样的情况,隐藏列会显示在menuDisabled中,但是这个一般没有什么用处,只是用于后台取值的作用,感兴趣的朋友可以了解下啊,希望本文对你有所帮助   在Ex ...