zoukankan      html  css  js  c++  java
  • MongoDB权威指南<2> 1-1 MongoDB 介绍

    Char01 MongoDB简介

    1.1 易于使用

      是面向文档document-oriented的数据库

    1.2 易于扩展

      MongoDB的设计采用横向扩展,如果一个集群需要更大的容量,只需要向集群添加新的服务器,MongoDB 就会自动将现有的数据像服务器传送

    1.3 丰富的功能

      索引 indexing 

      聚合 aggregation

      特殊的集合类型

      文档存储

    1.4 卓越的性能

    Char02 MongoDB基础知识

     2.1 文档 -- 行

      文档被表示为对象

          键可以使用任意UTF-8字符

          MongoDB不但区分类型,而且区分大小写

          MongoDB文档不能有重复的键

      {"greeting":"hello ... "}

    2.2 集合 -- 表 【一组文档】

    2.2.1 动态模式:

      集合是动态模式

    2.2.2 命名

    2.3 数据库

      数据库名应该全部小写,

      数据库最终会变成文件系统里的文件,而数据库名就是相应的文件名

    2.4 启动 MongoDB

      默认端口好28017

    2.5 MongoDB Shell 简介

    2.5.1 MongoDB自带JavaScript shell

    2.5.2 MongoDB 客户端

    2.5.3 Shell 操作

     CRUD : create , read , update, delete 

    # mongo
    MongoDB shell version: 3.0.14
    connecting to: test
    2017-01-19T15:55:15.814+0800 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
    2017-01-19T15:55:15.814+0800 E QUERY    Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
        at connect (src/mongo/shell/mongo.js:179:14)
        at (connect):1:6 at src/mongo/shell/mongo.js:179
    exception: connect failed
    root@Ly-banya:~# 
    root@Ly-banya:~# mongo
    MongoDB shell version: 3.0.14
    connecting to: test
    2017-01-19T15:55:28.999+0800 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
    2017-01-19T15:55:29.000+0800 E QUERY    Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
        at connect (src/mongo/shell/mongo.js:179:14)
        at (connect):1:6 at src/mongo/shell/mongo.js:179
    exception: connect failed
    root@Ly-banya:~# ls
    ls           lsattr       lsblk        lsb_release  lscpu        lsdiff       lshw         lsinitramfs  lsmod        lsof         lspci        lspcmcia     lspgpot      lss16toppm   lsusb
    root@Ly-banya:~# lsof -i:27017
    COMMAND   PID    USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
    mongod  25779 mongodb    6u  IPv4 28934926      0t0  TCP localhost:27017 (LISTEN)
    root@Ly-banya:~# ^Cof -i:27017
    root@Ly-banya:~# kill -9 ^C
    root@Ly-banya:~# exit
    ly@Ly-banya:~$ mongo
    MongoDB shell version: 3.0.14
    connecting to: test
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    For more comprehensive documentation, see
    	http://docs.mongodb.org/
    Questions? Try the support group
    	http://groups.google.com/group/mongodb-user
    Server has startup warnings: 
    2017-01-19T15:55:44.532+0800 I CONTROL  [initandlisten] 
    2017-01-19T15:55:44.532+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
    2017-01-19T15:55:44.532+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
    2017-01-19T15:55:44.532+0800 I CONTROL  [initandlisten] 
    2017-01-19T15:55:44.532+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
    2017-01-19T15:55:44.532+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
    2017-01-19T15:55:44.532+0800 I CONTROL  [initandlisten] 
    > 
    > db
    test
    > use foobar
    switched to db foobar
    > db
    foobar
    > post={"title":"Blog Post",
    ...     "content":"This is Content",
    ...      "date":new Date()}
    {
    	"title" : "Blog Post",
    	"content" : "This is Content",
    	"date" : ISODate("2017-01-19T07:57:57.398Z")
    }
    > db.blog.find()
    > db.blog.insert(post)
    WriteResult({ "nInserted" : 1 })
    > db.blog.find()
    { "_id" : ObjectId("5880719675f14a9225e239f8"), "title" : "Blog Post", "content" : "This is Content", "date" : ISODate("2017-01-19T07:57:57.398Z") }
    > post.comments = []
    [ ]
    > db.blog.update({"title":"Blog Post"} , post)
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.blog.find()
    { "_id" : ObjectId("5880719675f14a9225e239f8"), "title" : "Blog Post", "content" : "This is Content", "date" : ISODate("2017-01-19T07:57:57.398Z"), "comments" : [ ] }
    > 
    > db.log.remove({"title":"Blog Post"})
    WriteResult({ "nRemoved" : 0 })
    > db.blog.find()
    { "_id" : ObjectId("5880719675f14a9225e239f8"), "title" : "Blog Post", "content" : "This is Content", "date" : ISODate("2017-01-19T07:57:57.398Z"), "comments" : [ ] }
    > db.blog.remove({"title":"Blog Post"})
    
    
    
    > db.blog.remove({"title":"Blog Post"})
    WriteResult({ "nRemoved" : 1 })
    > db.blog.find()
    

      

    2.6 数据类型

    2.6.1 基本数据类型

    2.6.2 日期

    2.6.4 内嵌文档

    2.6.5 _id && ObjectId

    2.7 使用 MongoDB shell

  • 相关阅读:
    页面检测网络外网连接- 网页基础模块(JavaScript)
    sql server替换字段中的某个字符
    关于Linux下 fork() 函数的总结
    郁闷的一天
    关于 Linux 下的线程函数未定义问题
    英文书籍
    学会阅读外文资料
    内存池设计(五)
    内存池设计(四)
    内存池设计(三)
  • 原文地址:https://www.cnblogs.com/zsr0401/p/6298049.html
Copyright © 2011-2022 走看看