一、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代码:

  

未完待续。。。。。。

最新文章

  1. Thymeleaf
  2. The remote name could not be resolved问题的解决方法
  3. lua学习之table类型
  4. [纯小白学习OpenCV系列]官方例程01:Load and Display an Image
  5. Safari5及以下版本不支持Date的横杠字符串格式
  6. centos7 使用 omnibus包安装方式,安装 gitlab7.4
  7. mybatis--MapperProxy事务
  8. 移动开发之meta篇
  9. Ubuntu Linux 永山(mount)分
  10. 2014.3.6-C语言学习小结
  11. 浅析IO模型
  12. c/c++ 模板 类型推断
  13. 「插件」Runner更新Pro版,帮助设计师远离996
  14. 读取Excel,单元格内容大于255个字符自动被截取的问题
  15. SQL LIKE 操作符
  16. 1002. Find Common Characters查找常用字符
  17. django相关
  18. struts2 优缺点
  19. 题解-python-CodeForces 227B
  20. user_add示例

热门文章

  1. CSS基本属性—文本属性和背景属性
  2. Ubuntu 安装 tensorflow-gpu + keras
  3. UVA 699 The Falling Leaves (递归先序建立二叉树)
  4. Linux命令之kill
  5. Placement new的用法及用途【转】
  6. luogu P1064 金明的预算方案
  7. Scala零基础教学【81-89】
  8. iOS 多线程之NSOperation篇举例详解
  9. linux下安装python2.7.5和MYSQLdb
  10. 【js】js中const,var,let区别