30分钟让你了解MongoDB基本操作

jopen 9年前
 

今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的。

数据库

数据库是一个物理容器集合。每个数据库都有自己的一套文件系统上的文件。一个单一的MongoDB服务器通常有多个数据库。

集合

集合是一组MongoDB的文档。它相当于一个RDBMS表。收集存在于一个单一的数据库。集合不执行模式。集合内的文档可以有不同的领域。通常情况下,一个集合中的所有文件是相同或相关的目的。

文档

文档是一组键 - 值对。文件动态模式。动态模式是指,在相同集合中的文档不需要具有相同的字段或结构组的公共字段的集合的文档,可以容纳不同类型的数据。

关系型数据库与MongoDB的对比

30分钟让你了解MongoDB基本操作

看到这个表我想你对MongoDB也一定有自己的认识了。

MongoDB支持许多数据类型的列表下面给出:

  • String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。

  • Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。

  • Boolean : 此类型用于存储一个布尔值 (true/ false) 。

  • Double : 这种类型是用来存储浮点值。

  • Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较。

  • Arrays : 使用此类型的数组或列表或多个值存储到一个键。

  • Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。

  • Object : 此数据类型用于嵌入式的文件。

  • Null : 这种类型是用来存储一个Null值。

  • Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。

  • Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。

  • Object ID : 此数据类型用于存储文档的ID。

  • Binary data : 此数据类型用于存储二进制数据。

  • Code : 此数据类型用于存储到文档中的JavaScript代码。

  • Regular expression : 此数据类型用于存储正则表达式

下面开始真正的操作MongoDB

show dbs : 查看数据库列表

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

use myMongo   (创建的数据库myMongo 列表中是不存在的。要显示的数据库,需要把它插入至少一个文件,如:db.test.insert({name:"张三",age:"18"}))

30分钟让你了解MongoDB基本操作

dropDatabase() 方法  : db.dropDatabase() 命令是用来删除一个现有的数据库。它将删除选定的数据库。如果还没有选择任何数据库,然后它会删除默认的 ' test' 数据库

30分钟让你了解MongoDB基本操作

createCollection() 方法  :  db.createCollection(name, options) 是用来创建集合. name是集合的名称。options是一个文件,用于指定配置的集合

30分钟让你了解MongoDB基本操作

show collections: 可以查看创建的集合列表

在MongoDB中,不需要创建集合。当插入一些文件 MongoDB 自动创建的集合。

30分钟让你了解MongoDB基本操作

drop() 方法 : db.collection.drop() 是用来从数据库中删除一个集合。

30分钟让你了解MongoDB基本操作

drop() 方法将返回 true ,如果选择成功收集被丢弃,否则将返回 false

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

30分钟让你了解MongoDB基本操作

这里用了两种查询方法,下面会介绍的.这里你可以看我我插入了一个数组["MongoDB","python","hadoop"]

这里 myCollection1是集合的名称。如果集合在数据库中不存在,那么MongoDB 将创建此集合,然后把它插入文档。我们也可以插入数组,道理是一样的,你可以自己试试。

插入文档中,如果我们不指定_id参数,然后MongoDB 本文档分配一个独特的ObjectId。_id 是12个字节的十六进制数,唯一一个集合中的每个文档.

find() 方法 : 查询集合数据,find() 方法将在非结构化的方式显示所有的文件。 pretty() 方法将以格式化的方式显示数据。

   上边的例子已经展示了。除了find() 方法外,还有一个 findOne() 法,返回一个文件。

30分钟让你了解MongoDB基本操作

下面做下 条件查询: RDBMS Where子句和MongoDB等同语句

      30分钟让你了解MongoDB基本操作

       AND用法

      30分钟让你了解MongoDB基本操作

OR用法

       30分钟让你了解MongoDB基本操作

Limit() 方法和 skip() 方法一般结合使用可用作分页 : 要限制 MongoDB 中的记录,需要使用 limit() 方法。 limit() 方法接受一个数字型的参数,这是要显示的文档数。skip() 方法也 接受数字类型的参数,并使用跳过的文档数

       30分钟让你了解MongoDB基本操作

remove() 方法 : 用于从集合中删除文档。remove() 方法接受两个参数。第一个是删除criteria ,第二是justOne标志:

  1. deletion criteria :(可选)删除标准,根据文件将被删除。

  2. justOne : (可选)如果设置为true或1,然后只删除一个文件。如果有多个记录且要删除的只有第一条记录,那么设置remove()方法中justOne参数

  3. 如果不指定删除条件,然后MongoDB将从集合中删除整个文件

30分钟让你了解MongoDB基本操作

Update() 方法 : 更新文档  ,若要更新多个需要设置参数置'multi' 为true

30分钟让你了解MongoDB基本操作

sort() 方法 : 接受一个文档,其中包含的字段列表连同他们的排序顺序。要指定排序顺序1和-1。 1用于升序排列,而-1用于降序。 请注意,如果不指定排序优先,然后sort() 方法将文档显示在升序排列。

      30分钟让你了解MongoDB基本操作

就写到着吧,要下班了,有时间会写一些深入的。希望大家指教。