• 1
  • 2
  • 3
  • 4
  • 5
mssql数据库问题 首 页  »  帮助中心  »  数据库  »  mssql数据库问题
MongoDB的快速入门教程
发布日期:2016-4-22 13:4:2

  MongoDB的快速入门教程

  一、MongoDB教程

  MongoDB简介:MongoDB为一个跨平台,面向文档的数据库,提供高性能,高可用性和易于扩展。MongoDB是工作在集合与文档上一种概念。

  1.数据数

  数据库:一个集合的物理容器。每个数据库获取其自己设定在文件系统上的文件。一个单一的MongoDB服务器通常有多个数据库。

  2.集合

  集合:一组MongoDB的文件。它与一个RDBMS表是等效的。也与mssql等效,一个集合存在于数据库中。集合不强制执行模式。集合中的文档可以有不同的字段。通常情况下,在一个集合中的所有文件都是类似或相关目的。

  3.文档

  文档:是一组键值对。文档具有动态模式。动态模式是指,在同一个集合的文件不必具有相同一组集合的文档字段或结构,并且相同的字段可以保持不同类型的数据。

  示例:

  下面给出的示例,功能是显示了一个博客网站,仅仅是一个逗号分隔的键值对的文档结构。代码如下所示:

  {

  _id: ObjectId(7df78ad8902c)

  title: ‘MongoDB Overview’,

  description: ‘MongoDB is no sql database’,

  by: ‘yiibai tutorial’,

  url: ‘http://www.yiibai.com‘,

  tags: [‘mongodb’, ‘database’, ‘NoSQL’],

  likes: 100,

  comments: [

  {

  user:’user1’,

  message: ‘My first comment’,

  dateCreated: new Date(2011,1,20,2,15),

  like: 0

  },

  {

  user:’user2’,

  message: ‘My second comments’,

  dateCreated: new Date(2011,1,25,7,45),

  like: 5

  }

  ]

  }

  4.在Windows上安装MongoDB

  要在Windows上安装MongoDB,首先安装MongoDB 的最新版本 下载网站:http://www.mongodb.org/downloads

  现在,把我们下载的文件提取到c:\ 驱动器或者其他位置。 确保压缩文件夹名称是 mongodb-win32-i386-[version] 或者mongodb-win32-x86_64-[version]. 这里 [version] 是MongoDB的下载版本。

  现在,打开命令提示符并运行以下命令,代码如下所示:

    C:>move mongodb-win64-* mongodb

    1 dir(s) moved.

    C:>

  如果提取 mondodb 在不同的位置,然后进入这个路径通过命令 cd FOOLDER/DIR 现在运行上面给出的过程。

  这里有简单的安装步骤,如下所示:

  1.   选择自定安装(可以自己定义安装目录)
  2.   选择安装目录
  3.   选择安装目录
  4.   安装完成!

  如果安装 MongoDB 在不同的位置(建议安装到 D:\software),那么需要设置路径 dbpath 在 mongod.exe 指向 data 备用路径。请看看下面的命令

  在命令提示符下导航到bin目录,当前到 MongoDB 的安装文件夹。本教程中安装文件夹是(为了保持与本教程一致,建议也安装到这个目录,如果你喜欢折腾,那我拦也拦不住),代码如下所示:

    D:\software

  C:\Users\yiibai>d:

  D:>cd “software”

  D:\software>cd MongoDB\Server\3.0\bin

  D:\software\MongoDB\Server\3.0\bin> mongod.exe –dbpath “d:\software\MongoDB\Server\3.0\data”

  这将显示在等待连接的控制台输出消息,指示 mongod.exe 成功运行过程。

  现在运行的MongoDB,需要打开一个命令提示符,发出以下命令,代码如下所示:

  D:\software\MongoDB\Server\3.0\bin>mongo.exe

  MongoDB shell version: 3.0.4

  connecting to: test

  db.test.save( { a: 1 } )

  db.test.find()

  { “_id” : ObjectId(5879b0f65a56a454), “a” : 1 }

  这将显示已安装的 MongoDB 并成功运行。下一次当您要运行 MongoDB 只需要发出命令,代码如下所示:

  D:\software\MongoDB\Server\3.0\bin>mongod.exe –dbpath “d:\software\MongoDB\Server\3.0\data”

  D:\software\MongoDB\Server\3.0\bin>mongo.exe

  出现如下所示的错误:

  D:\software\MongoDB\Server\3.0\bin>mongod.exe –dbpath “d:\software\MongoDB\Server\3.0\data”

  2015-07-11T08:47:22.896+0800 I CONTROL Hotfix KB2731284 or later update is not

  installed, will zero-out data files

  2015-07-11T08:47:22.896+0800 I STORAGE [initandlisten] exception in initAndList

  en: 29 Data directory d:\software\MongoDB\Server\3.0\data not found., terminating

  解决办法:在d:\software\MongoDB\Server\3.0\目录下创建一个新目录:data

  注:再新打开一个命令行窗口,用于执行 MongoDB 各种命令。

  5.创建数据库

  MongoDB use DATABASE_NAME 用于创建数据库。该命令如果数据库不存在,将创建一个新的数据库, 否则将返回现有的数据库。

  5.1语法

  use DATABASE语句的基本语法如下所示:

  use DATABASE_NAME

  举例:

  如果想创建一个数据库名称为 , 那么 use DATABASE 语句应该如下面的所示:

 

  use mydb

  switched to db mydb

  要检查当前选择的数据库使用命令 db

  db

  mydb

  如果想查询数据库列表,那么使用命令 show dbs.

  show dbs

  local 0.78125GB

  test 0.23012GB

  所创建的数据库(mydb)不存在于列表中。要显示的数据库,需要至少插入一个文档进去。

  db.movie.insert({“name”:”yiibai tutorials”})

  show dbs

  local 0.78125GB

  mydb 0.23012GB

  test 0.23012GB

  MongoDB的默认数据库是test。 如果没有创建任何数据库,那么集合将被保存在测试数据库。

 

  6.删除数据库

  MongoDB db.dropDatabase() 命令用于删除现有的数据库。

  6.1语法

  dropDatabase()指令的基本语法如下所示:

  db.dropDatabase()

  这将删除选定的数据库。如果没有选择任何数据库,那么它会删除默认的“test”数据库,类似mssql

  举例:

  如果想删除新的数据库 , 那么 dropDatabase() 命令,代码如下面所示:

  use mydb

  switched to db mydb

  db.dropDatabase()

  { “dropped” : “mydb”, “ok” : 1 }

  7.创建集合

  MongoDB 的 db.createCollection(name, options) 用于创建集合。 在命令中, name 是要创建集合的名称。 Options 是一个文档,用于指定集合的配置

  参数 类型 描述

  •   Name String 要创建的集合的名称
  •   Options Document (可选)指定有关内存大小和索引选项
  •   选项参数是可选的,所以需要指定集合的唯一名字。

  7.1语法

  createCollection()方法的基本语法如下,代码如下所示:

  use test

  switched to db test

  db.createCollection(“mycollection”)

  { “ok” : 1 }

  可以通过使用 show collections 命令来检查创建的集合,代码如下所示:

  show collections

  mycollection

  system.indexes

  选项列表

  字段 类型 描述

  •   capped Boolean (可选)如果为true,它启用上限集合。上限集合是一个固定大小的集合,当它达到其最大尺寸会自动覆盖最老的条目。 如果指定true,则还需要指定参数的大小。
  •   autoIndexID Boolean (可选)如果为true,自动创建索引_id字段。默认的值是 false.
  •   size number (可选)指定的上限集合字节的最大尺寸。如果capped 是true,那么还需要指定这个字段。
  •   max number (可选)指定上限集合允许的最大文件数。

  尽管插入文档,MongoDB首先检查字段集合的上限大小,那么它会检查最大字段。

  语法 ,代码如下所示::

  db.createCollection(“mycol”, { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )

  { “ok” : 1 }

  在MongoDB中并不需要创建集合。 当插入一些文档 MongoDB 会自动创建集合,代码如下所示:

  db.yiibai.insert({“name” : “yiibai”})

  show collections

  mycol

  mycollection

  system.indexes

  yiibai

  8.删除集合

  MongoDB 的 db.collection.drop() 用于从数据库中删除集合。

  8.1 语法

  drop() 命令的基本语法如下所示;

  db.COLLECTION_NAME.drop()

  举例:

  下面给出的例子将删除给定名称的集合:mycollection

  use mydb

  switched to db mydb

  db.mycollection.drop()

  true

  9.插入文档

  将数据插入到MongoDB集合,需要使用MongoDB 的 insert() 方法。

  9.1语法

  insert()命令的基本语法如下,代码如下所示:

  db.COLLECTION_NAME.insert(document)

  举例:

  db.mycol.insert({

  _id: ObjectId(7df78ad8902c),

  title: ‘MongoDB Overview’,

  description: ‘MongoDB is no sql database’,

  by: ‘yiibai tutorials’,

  url: ‘http://www.yiibai.com‘,

  tags: [‘mongodb’, ‘database’, ‘NoSQL’],

  likes: 100

  })

  这里 mycol 是我们的集合名称,它是在之前的教程中创建。如果集合不存在于数据库中,那么MongoDB创建此集合,然后插入文档进去。

  在如果我们不指定_id参数插入的文档,那么 MongoDB 将为文档分配一个唯一的ObjectId。

  _id 是12个字节十六进制数在一个集合的每个文档是唯一的。 12个字节被划分如下所示:

  _id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)

  要以单个查询插入多个文档,可以通过文档 insert() 命令的数组方式。

  例子,代码如下所示:

  db.post.insert([

  {

  title: ‘MongoDB Overview’,

  description: ‘MongoDB is no sql database’,

  by: ‘yiibai tutorials’,

  url: ‘http://www.yiibai.com‘,

  tags: [‘mongodb’, ‘database’, ‘NoSQL’],

  likes: 100

  },

  {

  title: ‘NoSQL Database’,

  description: ‘NoSQL database doesn’t have tables’,

  by: ‘yiibai tutorials’,

  url: ‘http://www.yiibai.com‘,

  tags: [‘mongodb’, ‘database’, ‘NoSQL’],

  likes: 20,

  comments: [

  {

  user:’user1’,

  message: ‘My first comment’,

  dateCreated: new Date(2013,11,10,2,35),

  like: 0

  }

  ]

  }

  ])

  10.查询文档

  查询方法:要从集合查询MongoDB数据,需要使用MongoDB的 find()方法。