一、mongoDB与关系型数据库对比

对比项              mongoDB             关系型数据库(oracle、mysql)
集合List 二维表table
表的一行数据 文档document 一条记录record
表字段 键key 字段field
字段值 值value 值value
主外键 PK、FK
灵活扩展性 极高

二、mongoDB基本的Shell命令

  1、创建数据库、操作表之前需要先启动mongoDB数据库(既启动服务端):

    启动服务:

      > mongod --dbpath C:\mongodb\data

     使用admin连接:     

       > mongo 127.0.0.1:27017/admin

       注:若使用mongo 127.0.0.1:27017连接,则默认是test用户连接

  2、创建一个数据库caliven:

        > use [databaseName]

       > use caliven

       注:使用use命令,只是创建了一个空的数据库,若不做任何操作离开时空数据库会被删除

  3、查看所有数据库:

      > show dbs

  4、创建一个集合并增加一条记录:

      > db.[collectionName].insert({...})

       > db.users.insert({name:"Jack"})

      注:mongoDB会默认为每条记录插入一个"_id"的字段,{...}中的数据是BSON形式的数据

  5、查看数据库所有集合:

      > show collections

  6、查询指定集合的数据:

      查询所有:

        > db.[collectionName].find()

        > db.users.find()

      查询第一条:
        > db.[collectionName].findOne()

        > db.users.findOne()

  7、更新集合数据:

      > db.[collectionName].update({查询器}, {更新内容})

      > db.users.update({name:"Jack"}, {$set:{name:"Tom"}})

      > var u = db.users.findOne()

      > db.users.update(u, {name:"Tom"})

  8、删除集合数据:

      > db.[collectionName].remove({查询器})

      > db.users.remove({name:"Jack"})

  9、删除数据库的集合:

      > db.[collectionName].drop()
       
> db.users.drop()

  10、删除数据库:

      > db.dropDatabase()

  11、Shell的help:

      > db.help() 可查看关于操作数据库的一些命令

       > db.[collectionName].help() 可查看关于操作集合的一些命令

  12、数据库和集合的命名规范:

    1> 应全部小写;

    2> 不能是空字符串;

    3> 不能含有特殊字符,如:' '  ,  $  /  \ 等;

    4> 长度最多64个字节;

    5> 数据库名称不能与现有系统保留库同名,如:admin、local、config;

    6> 名称中最好不要带"-",如"test-db",虽然合法,但操作起来比较麻烦。

  13、mongoDB的shell内置javascript引擎,可以直接执行javascript代码,如eval,function xxx(){.....}等。

  mongoDB 2.4.8版本的API文档地址:http://api.mongodb.org/js/2.4.8/index.html

  可以看看图中的相关shell执行后的效果:

  

  在shell中执行javascript代码:

  

未完待续。。。。。。

MongoDB笔记(二):MongoDB下Shell的基本操作的更多相关文章

  1. Mongodb学习笔记二(Mongodb基本命令)

    第二章 基本命令 一.Mongodb命令 说明:Mongodb命令是区分大小写的,使用的命名规则是驼峰命名法. 对于database和collection无需主动创建,在插入数据时,如果databas ...

  2. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  3. mongodb篇二:mongodb克隆远程数据库,去重查询的命令及对应java语句

    http://blog.csdn.net/qkxh320/article/details/16115671 1.首先操作mongodb最基本命令:: show databases;           ...

  4. awk学习笔记二:调用shell、文件执行(转)

    awk 'BEGIN {print "Hello"}' 不操作文件直接处理数据流 要调用shell则可以用管道命令 如,打印日期awk 'BEGIN {"date&quo ...

  5. MongoDB学习笔记二—Shell操作

    数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...

  6. MongoDB学习笔记二- Mongoose

    MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...

  7. MongoDB笔记(一):MongoDB介绍及Windows下安装

    一.前言 MongoDB火了也蛮久了,关于简介看看这里吧.项目中一直没用上,最近闲的慌就自己学了下,顺便记录下以便今后复习. 本系列是基于MongoDB 2.4.8 windows 64位讲解,后面的 ...

  8. MongoDB学习笔记二:使用Docker安装MongoDB

    目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...

  9. nodejs学习笔记二——链接mongodb

    a.安装mongoose库用来链接mongodb数据库 安装mongodb数据库参考mongodb安装 前言(怨言) 本来是想安装mongodb库来链接mongodb的,命令行到nodejs工程目录: ...

随机推荐

  1. 内部网络出口防火墙导致TCP类扫描异常

    测试过程中确认,由于内部网络出口防火墙存在连接数等策略限制,会导致TCP类扫描出现异常,表现为大量误报. Nessus.nmap.synscan均存在此现象.

  2. python 文件路径操作方法(转)

    Python编程语言在实际使用中可以帮助我们轻松的实现一些特殊的功能需求.在这里我们将会为大家详细介绍一下有关Python文件路径的相关操作技巧,从而方便我们在实际开发中获得一些帮助. Python文 ...

  3. Codeforces 1023 B.Pair of Toys (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)

    B. Pair of Toys 智障题目(嘤嘤嘤~) 代码: 1 //B 2 #include<iostream> 3 #include<cstdio> 4 #include& ...

  4. 拓扑排序(Topological Order)UVa10305 Ordering Tasks

    2016/5/19 17:39:07 拓扑排序,是对有向无环图(Directed Acylic Graph , DAG )进行的一种操作,这种操作是将DAG中的所有顶点排成一个线性序列,使得图中的任意 ...

  5. 二维偏序+树状数组【P3431】[POI2005]AUT-The Bus

    Description Byte City 的街道形成了一个标准的棋盘网络 – 他们要么是北南走向要么就是西东走向. 北南走向的路口从 1 到 n编号, 西东走向的路从1 到 m编号. 每个路口用两个 ...

  6. 【置换群】Codeforces Round #393 (Div. 1) A. Pavel and barbecue

    就是先看排列p,必须满足其是一个环,才满足题意.就处理出有几个环,然后把它们合起来,答案就是多少. 然后再看序列b,自己稍微画一画就会发现,如果有偶数个1肯定是不行哒,否则,它就会再置换一圈回到它自己 ...

  7. 【数论】【欧拉函数】【筛法求素数】【乘法逆元】【快速幂取模】bzoj2186 [Sdoi2008]沙拉公主的困惑

    http://www.cnblogs.com/BLADEVIL/p/3490321.html http://www.cnblogs.com/zyfzyf/p/3997986.html 翻了翻题解,这两 ...

  8. 6.3(java学习笔记)缓冲流

    一.缓冲流 使用缓冲流后的输入输出流会先存储到缓冲区,等缓冲区满后一次性将缓冲区中的数据写入或取出. 避免程序频繁的和文件直接操作,这样操作有利于提高读写效率. 缓冲流是构建在输入输出流之上的,可以理 ...

  9. N进制加法

    我是网络公司的一名普通程序员,英文名Steven,发音比较像“师弟”,自从入职培训自我介绍后,大家就称我为“二师弟”,我喜欢看科幻小说,也喜欢做梦,有一次梦到外星球,发现外星人使用的并非10进制/16 ...

  10. iOS开源项目阅读整理

    精读过的开源项目,随时整理,随时更新,本文只记录项目地址,名称和内容,不发表心得. 1.AFNetWorking iOS人都知道,不细诉. 2.iCarousel 旋转木马,选项卡很不错的UI解决方案 ...