`
onelark
  • 浏览: 32753 次
  • 性别: 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 权威指南(第二版)英文,带书签

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

    mongodb 权威指南

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

    MongoDB 入门

    在《中文版》MongoDB权威指南.pdf中,你将深入学习到MongoDB的更多细节,包括安全性、备份恢复、性能调优等高级话题。这本书将帮助你从理论到实践全面掌握MongoDB,无论你是初学者还是经验丰富的开发者,都能从中...

    mongodb资料

    3. **MongoDB权威指南中文版.pdf**:这是一本全面的MongoDB官方参考书,包含了MongoDB的各个方面,包括安装配置、数据模型、查询语言、聚合框架、复制集、分片、性能优化等。 4. **mongodb.ppt**:这可能是一个演示...

    mongodb pdf

    - **官方文档**:用户提及“mongodb 官方文档”,这表明文档是 MongoDB 的权威指南,覆盖了从入门到进阶的各种主题。 - **学习价值**:通过阅读文档,用户表示学到了很多知识,说明文档内容丰富、实用。 ### 核心...

    MongoDB_权威指南_中文版(补充完整目录导航)

    通过上述知识点的讲解,我们可以了解到MongoDB作为NoSQL数据库的权威指南,涵盖了从基础知识到高级应用再到日常管理的全面内容。在实际使用中,这些知识点能够帮助数据库管理员和开发者有效地理解和运用MongoDB,...

    MongoDB-manual.pdf

    1. MongoDB安装指南(Installation Guides) - 文档首先介绍了MongoDB的安装步骤,涵盖各个操作系统平台。 - 提供了"First Steps with MongoDB",即MongoDB入门,介绍如何进行基本的安装和操作。 2. MongoDB CRUD...

    免费的mongoDB

    其次,"MongoDB权威指南"是深入了解MongoDB的必备读物。该指南可能深入讲解了MongoDB的核心特性,包括复制集、分片集群、数据备份与恢复策略、安全性和权限管理等。复制集是MongoDB高可用性的关键,它允许多个副本...

    MongoDB - The Definitive Guide

    《MongoDB权威指南》是一本由Kristina Chodorow和Michael Dirolf撰写的关于MongoDB的权威性指南书籍。这本书详细介绍了MongoDB的基本概念、特点、使用方法以及相关的高级特性。作为NoSQL数据库中的佼佼者,MongoDB以...

    MongoDB.in.Action.2nd.Edition.2016.3.pdf

    《MongoDB in Action》第二版是一本全面介绍MongoDB数据库的权威指南,不仅适合初学者快速上手,也适用于有经验的开发人员深入了解MongoDB的各种高级特性和应用场景。本书内容覆盖了MongoDB的基础概念、安装配置、...

    mongoDB 教程 视频+PDF

    - **官方文档**:提供最权威的技术指南。 - **社区论坛**:解决具体问题的好地方。 - **在线课程**:适合初学者快速入门。 以上内容涵盖了从MongoDB基础知识到实战应用的各个方面,希望对你有所帮助。

    非关系型数据库-mongodb安装及使用指南

    mongodb安装及入门v1.1.pdf mongodb权威指南.pdf NOSQL数据库基本知识.pptx NoSQL在国内的应用 NoSQL数据库的产生背景 大数据的兴起及发展 关系数据库的优势和不足 NoSQL数据库的优势 NoSQL数据库的种类

    MongoDB_in_Action

    - **MongoDB in Action 第二版**是一本全面介绍MongoDB数据库的权威指南。本书不仅覆盖了MongoDB的基础知识,还深入介绍了高级特性和应用场景。 - 适合初学者和有经验的开发者阅读,无论是想要快速上手还是深入研究...

    The Definitive Guide to MongoDB

    该书作为权威指南,不仅介绍了MongoDB的基础知识,还深入探讨了其在云计算和桌面计算环境中的应用。 #### MongoDB简介 MongoDB的设计目标是简化复杂数据的存储,提供快速且可扩展的数据库解决方案。它采用了面向...

    MongoDB教程

    接下来,"MongoDB权威指南(第2版)"作为全面的MongoDB入门到进阶的参考书籍,可能会涵盖以下主题: 1. **基础概念**:介绍MongoDB的基本概念,如数据库、集合、文档、查询语法等,为初学者提供坚实的理论基础。 2...

    MongoDB The Definitive Guide 2nd Edition

    MongoDB是一本由Kristina Chodorow撰写、O'Reilly Media出版的数据库指南书籍,名为《MongoDB权威指南》第二版。本书详细介绍了MongoDB的使用、特点以及核心概念,适合作为数据库管理员和开发人员的参考资料。书中...

    mongodb入门

    学习MongoDB时,通过阅读《MongoDB_权威指南.pdf》这样的资料,你可以深入理解其核心概念、操作方式以及最佳实践。这份指南通常会涵盖上述所有知识点,并可能涉及更高级的主题,如性能调优、安全性以及集群管理。...

    The.Definitive.Guide.to.MongoDB.pdf

    《MongoDB:终极指南》是Eelco Plugge、Peter Membrey和Tim Hawkins三位作者共同编写的关于MongoDB数据库的权威指南。本书详细介绍了MongoDB作为一种非关系型(NoSQL)数据库在云计算和桌面计算领域的应用,为读者...

Global site tag (gtag.js) - Google Analytics