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

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

数据库

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

集合

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

文档

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

关系型数据库与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"}))

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

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

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

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

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

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

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

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

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

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

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

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

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

     

      AND用法

     

      OR用法

      

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

      

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

  1. deletion criteria :(可选)删除标准,根据文件将被删除。
  2. justOne : (可选)如果设置为true或1,然后只删除一个文件。如果有多个记录且要删除的只有第一条记录,那么设置remove()方法中justOne参数
  3. 如果不指定删除条件,然后MongoDB将从集合中删除整个文件

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

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

     

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

时间: 2024-10-11 08:42:22

30分钟让你了解MongoDB基本操作的相关文章

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

今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集合 集合是一组MongoDB的文档.它相当于一个RDBMS表.收集存在于一个单一的数据库.集合不执行模式.集合内的文档可以有不同的领域.通常情况下,一个集合中的所有文件是相同或相关的目的. 文档 文档是一组键 - 值对.文件动态模式.动态模式是指,在相同集合中的文档不需要具有相同的字段或结构组的公共

Nodejs新手村指引——30分钟上手

概要 #准备工作 #开启简单的服务 #路由 #获取参数的三种方式 #静态文件 #数据库集成 #async解决多重嵌套问题 本文适合没有nodejs项目开发经验而又想对nodejs有个大概了解的你阅读,30分钟上手,也许还不用 ***************************************************** #准备工作 安装好nodejs以后,新建文件夹,起名叫demo-project,在文件夹根目录新建文件app.js作为nodejs应用的入口文件. 打开终端(wind

30分钟掌握ES6核心内容

ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. 虽然目前并不是所有浏览器都能兼容ES6全部特性,但越来越多的程序员在实际项目当中已经开始使用ES6了.所以就算你现在不打算使用ES6,但为了看懂别人的你也该懂点ES6的语法了... 在我们正式讲解ES6语法之前,我们得先了解下Babel. Babel Babel是一个广泛使用的ES6转码器,可以将

【C++11】30分钟了解C++11新特性

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 什么是C++11 C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外). C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto.decl

DAX基础入门 – 30分钟从SQL到DAX — PowerBI 利器

看到漂漂亮亮的PowerBI报表,手痒痒怎么办?! 有没有面对着稀奇古怪的DAX而感到有点丈八金刚摸不着头脑或者干瞪眼?! 有没有想得到某个值想不出来DAX怎么写而直跳脚!? 看完这篇文章,你会恍然大悟,捂脸偷笑.呼呼呼~ 前言: 这篇文章对于具有一点SQL查询基础人会十分容易理解,譬如:掌握SELECT,SUM,GROUP BY等. 注:此文不涉及到Filter Context(筛选上下文)的介绍. 正文: 对于对SQL有一定了解的人来说,咋看DAX,怎么都不习惯. 但是,如果理解以下几个后,

es6属性基础教学,30分钟包会

ES6基础智商划重点在实际开发中,ES6已经非常普及了.掌握ES6的知识变成了一种必须.尽管我们在使用时仍然需要经过babel编译. ES6彻底改变了前端的编码风格,可以说对于前端的影响非常巨大.值得高兴的是,如果你熟悉ES5,学习ES6并不需要花费太多的时间就可以掌握,因为常用的基础语法并不多,花少量的时间,就可以开始我们的ES6之旅了. 这篇文章不会详细的告诉你ES6的每一个细节知识,只会根据我自己的开发经验,将我在实际开发中常常用到的知识点分享给大家,给大家学习ES6一个方向的指引.这是因

正则表达式30分钟入门教程

目录 跳过目录 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及本文参考文献 更新纪录 本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它. 如何使用本教程 最重要的是--请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内

30分钟快速搭建Web CRUD的管理平台--django神奇魔法

加上你的准备的时间,估计30分钟完全够用了,因为最近在做爬虫管理平台,想着快速开发,没想到python web平台下有这么非常方便的框架,简洁而优雅.将自己的一些坑总结出来,方便给大家的使用. 准备环境: 系统:win7 or ubuntu django版本:1.8.5 python版本:2.7.6 数据库:自带的SQLLITE3 IDE: sublime text 3 ===========================Read ? go===========================

【转】正则表达式30分钟入门教程

首页 | 常用正则表达式 | 正则表达式测试工具 正则表达式30分钟入门教程 版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源 目录 跳过目录 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及本文参考文献 更新纪录 本文目标 30分钟内让你明白正则表达式是什么,