`
onelark
  • 浏览: 32297 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

MongoDB权威指南(1)- 入门

阅读更多

安装

  解压缩出来就OK了,mongoDB缺省使用磁盘根目录的data文件夹和data\db文件夹,

  这两个文件夹需要手工建立,如果想使用其他路径,那么启动mongoDB的时候需要指明路径

运行

  运行CMD打开控制台窗口,导航至mongodb的bin目录,运行mongod.exe,服务器就启动起来了,按ctrl-c结束程序。

  另开一个控制台窗口,导航至mongodb的bin目录,运行mongo.exe来启动shell,就链接到服务器了,缺省连接到test数据库。

-------------------------------------------------------------------------------------------------------------

OK,第一章讲mongoDB如何如何牛b的我们就隔过去啦,这里直接是第二章。

1.一些基本概念

  document :mongoDB里边数据的基本单位,相当于关系数据库里的行

  collection: 相当于关系数据库的表,不过是没有数据结构定义的

  每个mongoDB的实例可以运行多个database,每个database有自己的collection和权限控制

  mongoDB拥有一个强大的javascript shell,用于管理数据库和操作数据

  每个document都有一个特殊的key:"_id",这个值在collection内是唯一的

document

document是一组有序的key/value对,使用json风格的数据。

{"foo" : 3, "greeting" "Hello, world!"}

key是个UTF-8字符串,value 可以是很多类型,甚至是一个嵌入的document。

collection

collection是一组document,它是无结构定义的,所以你可以把任何document存入一个collection里。

subcollection

一个习惯性的组织collection的方式,使用.号分隔,像命名空间。例如,程序里使用了一个blog,它可能包含一个collection叫 blog.post和另外一个collection叫blog.authors,这仅仅是出于组织内容的目的,它们俩看起来像是blog的子集,实际上他们没有任何关系,甚至blog也许就是不存在的。

database

一个mongoDB的实例可以运行多个database,database之间是完全独立的,每个database有自己的权限,每个database存储于磁盘的不同文件。

2. mongoDB shell

shell本身就是一个javascript解释器,让我们来干点啥来看看

可以进行数学运算

> x = 200
200
> x / 5;
40

可以使用标准的javascript库

> Math.sin(Math.PI / 2);
1
> new Date("2010/1/1");
"Fri Jan 01 2010 00:00:00 GMT-0500 (EST)"
> "Hello, World!".replace("World""MongoDB");
Hello, MongoDB
!

甚至可以定义javascript函数

> function factorial (n) {
... 
if (n <= 1return 1;
... 
return n * factorial(n - 1);
... }
> factorial(5);
120

能够执行javascript确实很cool,当然这不是shell的全部功能。

  • 使用use命名切换数据库
> use foobar
switched to db foobar

然后就可以查看db变量来看看当前数据库是啥

> db
foobar
  • 使用insert函数想collection插入document

先创建一个本地变量叫post

> post = {"title" : "My Blog Post",
... 
"content" : "Here's my blog post.",
... 
"date" : new Date()}
{
"title" : "My Blog Post",
"content" : "Here's my blog post.",
"date" : "Sat Dec 12 2009 11:23:21 GMT-0500 (EST)"
}

然后把它插入到叫blog的collection里边去

> db.blog.insert(post)

然后我们可以用find函数看看blog里边的内容

> db.blog.find()
{
"_id" : ObjectId("4b23c3ca7525f35f94b60a2d"),
"title" : "My Blog Post",
"content" : "Here's my blog post.",
"date" : "Sat Dec 12 2009 11:23:21 GMT-0500 (EST)"
}

里边自动加了个叫"_id"的key。

  • find返回collection里的书有document,如果只想查看一个使用findone
    > db.blog.findOne()
    {
    "_id" : ObjectId("4b23c3ca7525f35f94b60a2d"),
    "title" : "My Blog Post",
    "content" : "Here's my blog post.",
    "date" : "Sat Dec 12 2009 11:23:21 GMT-0500 (EST)"
    }

find和findone都可以有查询条件,第4章查询里边会讲。

  • 使用update来更新document

update函数要有至少两个参数,第一个是条件,第二个是新的document

先给post变量加一个叫comments的key,给它一个空数组做value。

> post.comments = []
[ ]

执行更新,替换掉title是“My Blog Post”的那个document

> db.blog.update({title : "My Blog Post"}, post)

看看结果

> db.blog.find()
{
"_id" : ObjectId("4b23c3ca7525f35f94b60a2d"),
"title" : "My Blog Post",
"content" : "Here's my blog post.",
"date" : "Sat Dec 12 2009 11:23:21 GMT-0500 (EST)"
"comments" : [ ]
}
  • 使用remove删除document
    > db.blog.remove({title : "My Blog Post"})
    现在这个collection就又空了。

3.基本数据类型

  • null
    表示一个空值或者不存在的字段
  • boolean
  • 32位整数
    shell中无法表示,javascript只支持64位浮点小数,所以会被转化为64位浮点小数。
  • 64位整数
    同上
  • 64位浮点小数
  • 字符串
  • symbol
    shell不支持此类型,来自数据库中的symbol类型数据会转化为字符串
  • object id
    0 1 2 3     |4 5 6     |7 8   |9 10 11
    Timestamp|Machine | PID  |Increment
  • date
  • 正则表达式
  • code
  • 二进制数据
  • maximum value
    bson有这样一个专门的类型来表示可能的最大值,shell不支持此类型。
  • minimum value
  • undefined
  • array
  • embeded document
    来源:http://www.open-open.com/lib/view/open1328161814718.html
分享到:
评论

相关推荐

    MongoDB权威指南中文版高清版带书签PDF

    在《MongoDB权威指南》这本书中,作者详细地介绍了MongoDB的基础知识、安装配置、数据模型、查询语言、操作管理以及高级特性。以下是对这本书中核心知识点的概述: 1. **MongoDB基础知识**:MongoDB是NoSQL数据库的...

    MongoDB权威指南 中文版

    综上所述,《MongoDB权威指南》这本书涵盖了MongoDB的基础知识、核心功能以及高级特性等内容,对于初学者来说是一本很好的入门书籍,同时也适合有一定经验的开发者作为参考书使用。通过学习本书,读者可以深入了解...

    MongoDB权威指南中文版

    《MongoDB权威指南中文版》第1章 简介 第2章 入门 第3章 创建、更新及删除文档 第4章 查询 第5章 索引 第6章 聚合 第7章 进阶指南 第8章 管理 第9章 复制 第10章 分片 第11章 应用举例 附录A 安装MongoDB 附录B ...

    MongoDB权威指南(中文版)高清

    856.4.2 例2:网页分类 876.4.3 MongoDB和MapReduce 87第7章 进阶指南 917.1 数据库命令 917.1.1 命令的工作原理 927.1.2 命令参考 937.2 固定集合 957.2.1 属性及用法 967.2.2 创建固定集合 967....

    电子书:MongoDB权威指南(中文版)

    网页分类 876.4.3 MongoDB 和MapReduce 87第7 章 进阶指南 917.1 数据库命令 917.1.1 命令的工作原理 927.1.2 命令参考 927.2 固定集合 957.2.1 属性及用法 967.2.2 创建固定集合 967.2.3 自然...

    MongoDB权威指南

    《MongoDB权威指南》不仅是一本学习MongoDB的入门书籍,更是深入理解MongoDB设计理念和实践的宝贵资源。无论你是数据库新手还是有经验的开发者,这本书都能够提供有价值的见解和实用的技能,帮助你在MongoDB的世界里...

    MongoDB权威指南[中文版]

    这是一本讲述MongoDB从入门到精通的经典书籍,内容很全面,从框架结构、数据模型、操作使用和后台管理都有详细讲述,后面还介绍了具体的应用示例,让你更容易上手和理解这种非关系型数据库的思想,很值得大家作为...

    MongoDB 手册和MongoDB权威指南

    "MongoDB权威指南.pdf" 是一本深入的参考书,可能包含了MongoDB的高级特性和最佳实践。这本指南可能包括了性能优化、运维策略、数据迁移、应用程序设计等方面的指导,对于开发者和DBA来说非常有价值。它可能会讨论...

    MongoDB权威指南+深入MongoDB

    本文将基于“MongoDB权威指南”和“深入MongoDB”这两本书籍,详细介绍MongoDB的核心概念、功能特性以及如何进行有效的学习和实践。 1. MongoDB基础: MongoDB使用JSON-like的BSON数据格式存储数据,这种格式便于...

    MongoDB权威指南第2版

    《MongoDB权威指南第2版》不仅适合初学者入门,也适合有经验的开发者深入学习。通过阅读本书,读者不仅可以掌握MongoDB的基础操作,还能了解其背后的原理和最佳实践,从而更好地利用MongoDB构建高效、可扩展的应用...

    MongoDB权威指南中文pdf下载

    总而言之,《MongoDB权威指南》是一本全面、深入的教程,不仅适合初学者入门,也适合有经验的MongoDB用户提升技能。通过阅读这本书,读者能够掌握MongoDB的各项功能,从而在实际项目中充分发挥其潜力。

    MongoDB 权威指南(第二版)英文,带书签

    书中提到的MongoDB权威指南第二版,是由Kristina Chodorow所著,这是O'Reilly Media出版的书籍。O'Reilly Media是一个在科技领域享有盛誉的出版公司,出版了众多与计算机科学、信息技术以及工程学相关的图书。...

    MongoDB权威指南.pdf 中文版

    MongoDB权威指南是一本全面介绍MongoDB数据库的权威著作,适合数据库开发人员以及对MongoDB感兴趣的读者阅读。本书详细阐述了MongoDB的多种特性,包括面向文档的存储方式、无模式数据模型、文档处理、集合操作、跨多...

    MongoDB权威指南第二版.part2

    MongoDB权威指南,学习MongoDB绝佳的入门资料和进阶资料 ,第二部分

    MongoDB权威指南+实战.rar

    在《MongoDB权威指南》和《MongoDB实战》这两本书中,你可以找到关于MongoDB的全面知识,包括快速入门、高级概念以及实际应用。 1. **MongoDB基础**: - 数据模型:MongoDB采用BSON(Binary JSON)文档数据模型,...

    MongoDB权威指南第二版

    学习MongoDB的入门书籍,算是MongoDB书籍里不错的一本官方指南,绝对权威,介绍详细而具体,入门必备!

    mongodb 权威指南

    《MongoDB权威指南》是一本深入解析MongoDB的书籍,涵盖了从基础到高级的各个方面,旨在帮助读者全面理解和掌握这种数据库技术。 在书中,你将学习到MongoDB的核心概念,包括其数据模型、数据存储格式BSON(Binary ...

Global site tag (gtag.js) - Google Analytics