安装
解压缩出来就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解释器,让我们来干点啥来看看
可以进行数学运算
可以使用标准的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 <= 1) return 1;
... return n * factorial(n - 1);
... }
> factorial(5);
120
能够执行javascript确实很cool,当然这不是shell的全部功能。
> use foobar
switched to db foobar
然后就可以查看db变量来看看当前数据库是啥
- 使用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里边去
然后我们可以用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
先给post变量加一个叫comments的key,给它一个空数组做value。
执行更新,替换掉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权威指南》这本书中,作者详细地介绍了MongoDB的基础知识、安装配置、数据模型、查询语言、操作管理以及高级特性。以下是对这本书中核心知识点的概述: 1. **MongoDB基础知识**:MongoDB是NoSQL数据库的...
综上所述,《MongoDB权威指南》这本书涵盖了MongoDB的基础知识、核心功能以及高级特性等内容,对于初学者来说是一本很好的入门书籍,同时也适合有一定经验的开发者作为参考书使用。通过学习本书,读者可以深入了解...
《MongoDB权威指南中文版》第1章 简介 第2章 入门 第3章 创建、更新及删除文档 第4章 查询 第5章 索引 第6章 聚合 第7章 进阶指南 第8章 管理 第9章 复制 第10章 分片 第11章 应用举例 附录A 安装MongoDB 附录B ...
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....
网页分类 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权威指南.pdf" 是一本深入的参考书,可能包含了MongoDB的高级特性和最佳实践。这本指南可能包括了性能优化、运维策略、数据迁移、应用程序设计等方面的指导,对于开发者和DBA来说非常有价值。它可能会讨论...
本文将基于“MongoDB权威指南”和“深入MongoDB”这两本书籍,详细介绍MongoDB的核心概念、功能特性以及如何进行有效的学习和实践。 1. MongoDB基础: MongoDB使用JSON-like的BSON数据格式存储数据,这种格式便于...
《MongoDB权威指南第2版》不仅适合初学者入门,也适合有经验的开发者深入学习。通过阅读本书,读者不仅可以掌握MongoDB的基础操作,还能了解其背后的原理和最佳实践,从而更好地利用MongoDB构建高效、可扩展的应用...
总而言之,《MongoDB权威指南》是一本全面、深入的教程,不仅适合初学者入门,也适合有经验的MongoDB用户提升技能。通过阅读这本书,读者能够掌握MongoDB的各项功能,从而在实际项目中充分发挥其潜力。
书中提到的MongoDB权威指南第二版,是由Kristina Chodorow所著,这是O'Reilly Media出版的书籍。O'Reilly Media是一个在科技领域享有盛誉的出版公司,出版了众多与计算机科学、信息技术以及工程学相关的图书。...
MongoDB权威指南是一本全面介绍MongoDB数据库的权威著作,适合数据库开发人员以及对MongoDB感兴趣的读者阅读。本书详细阐述了MongoDB的多种特性,包括面向文档的存储方式、无模式数据模型、文档处理、集合操作、跨多...
MongoDB权威指南,学习MongoDB绝佳的入门资料和进阶资料 ,第二部分
在《MongoDB权威指南》和《MongoDB实战》这两本书中,你可以找到关于MongoDB的全面知识,包括快速入门、高级概念以及实际应用。 1. **MongoDB基础**: - 数据模型:MongoDB采用BSON(Binary JSON)文档数据模型,...
学习MongoDB的入门书籍,算是MongoDB书籍里不错的一本官方指南,绝对权威,介绍详细而具体,入门必备!
《MongoDB权威指南》是一本深入解析MongoDB的书籍,涵盖了从基础到高级的各个方面,旨在帮助读者全面理解和掌握这种数据库技术。 在书中,你将学习到MongoDB的核心概念,包括其数据模型、数据存储格式BSON(Binary ...