一、介绍:

数据库分为关系型数据库和非关系型数据库

关系型数据库是建立在关系模型上的数据库,主要的有Oracle MySQL Microsoft SQL Server

NoSQL是非关系型数据存储的广义定义 有:MongoDB

MongoDB:中每个数据包包含一个或者多个集合,集合是以BSON数据结构组织起来的文档对象集合,这个数据库可以处理大量数据,也可以欲行在便宜的PC服务器集群上,里面的数据结构非常简单,存储不需要固定的表结构,易于存储对象类型的数据,因此不需要进行表与表之间的关联查询。

使用场合:网站数据 用于对像及JSON数据的存储

二、安装:

http://www.cnblogs.com/GainLoss/p/6906937.html

三、mongoDB数据类型:

mongoDB的文档使用BSON来组织数据,BSON类似于JSON, JSON只是一种简单的表示数据的方式,只包含了6中数据类型

1.null: 用于表示空值或不存在的字段

2.布尔类型: true false

3.32为整数: mongodb的控制台使用js引擎进行输入,而js仅支持64位浮点数,所以32位整数会被自动转义

4.64位整数: 和32位整数一样

5.64位浮点数: 数字的默认类型

6.字符串

7.符号:不支持这种类型,会被自动转义

8.ObecjtId类型:对象id是文档中唯一的12位的ID

9.日期:日期类型存储是从标准纪年的毫秒数,不存储时区 使用的时候加上new {'one':new Date()}

10.正则表达式 文档键值可以包含表达式{‘one’:/ho/i}

11.代码

12.数据:可以表示位数据,在数组中还可以嵌套数组

13.内嵌文档; {'x':{'name':"time","age":"12"}}

14._id和ObjectId对象:mongodb文档默认必须有一个_id 这个键的值可以是任何类型 也可以自定义 默认位ObjectId对象

四、文档查询

1.基本操作

查找:

db.person.find()查看集合person中的数据

2.返回指定的键:

指定返回name的值:db.person.find({},{"name":1})

3.条件查询:

大于$gt 小于$lt 大于等于$gte 小于等于$lte 如果有多个条件:db.person.find({"field":{"$gt":value,"$lt":value}})

4.$all匹配所有 必须满足[]内所有的值

db.person.find({"name":{"$all":["value","hourse"]}})

5.$exists判断字段是否存在

db.person.find({"field":{$exists:true}}) field代表需要判断的字段的名称

6.$count查询记录的总条数

db.person.find().count() 总的数量

7.limit返回记录数

db.person.find().limit(N) 这个就用于限制一页显示多少个数据

8.skip限制返回记录的起点

db.person.find().skip(n) 就是分页的时候从第几条开始

9.sort排序

1表示升序 -1表示降序 db.person.find().sort("age":1)

添加:

db.person.insert({"name":"123"}) 在集合person中添加一条name=123的记录

删除:

db.person.remove({'name':'123'}) 删除name是123的记录

修改:

db.person.update({"_id":"1","name":"234"}) 修改_id=1的这条记录的name改成234

db.person.save({"name":123}) 文档不存在就进行插入 存在进行更新

深入了解MongoDB的更多相关文章

  1. 【翻译】MongoDB指南/聚合——聚合管道

    [原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...

  2. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  3. 【翻译】MongoDB指南/CRUD操作(三)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...

  4. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

  5. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  6. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. MongoDB系列(二):C#应用

    前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...

  8. MongoDB系列(一):简介及安装

    什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为应用提供可扩展的高 ...

  9. [原]分享一下我和MongoDB与Redis那些事

    缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...

  10. 用MongoDB分析合肥餐饮业

    看了<从数据角度解析福州美食>后难免心痒,动了要分析合肥餐饮业的念头,因此特地写了Node.js爬虫爬取了合肥的大众点评数据.分析数据库我并没有采用MySQL而是用的MongoDB,是因为 ...

随机推荐

  1. P2906 [USACO08OPEN]牛的街区Cow Neighborhoods

    传送门 曼哈顿距离好像不好直接算,我们可以把牛的坐标转化一下以方便计算距离 (x,y) --> (x+y,x-y) 那么距离就可以表示成 $max(\left |x_1-x_2  \right ...

  2. poj3349找相同的雪花(哈希)

    题目传送门 题目大意:给你n个雪花,每个雪花的六个棱都有各自的长度,如果存在两片雪花的每条棱长度对应相同,则输出一句英文,如果不存在就输出另外一句英文,n和长度都比较大. 思路:第一次真正接触哈希,查 ...

  3. Educational Codeforces Round 3 A

    A. USB Flash Drives time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  4. day34 协程

    1.   前提 之前我们学习了线程.进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位.按道理来说我们已经算是把cpu的利用率提高很多了.但是我们知道无论是创建多进程还 ...

  5. django ORM 连表查询

    db_index=True  如果设置该字段就可以设置索引 auto_now_add  代表设置创建时候的时间 auto_now   每次更新数据记录时会更新该字段 to_field 设置要关联表的字 ...

  6. pip安装python库

  7. java课后思考问题(一)

    1.一个Java类文件中真的只能有一个共有类吗? 一个Java类文件中只能有一个公有类 2.请使用Eclipse或javac检测一下以下代码,有错吗? 在Java中,可以将一个类定义在另一个类里面或者 ...

  8. java——异常类、异常捕获、finally、异常抛出、自定义异常

    编译错误:由于编写程序不符合程序的语法规定而导致的语法问题. 运行错误:能够顺利的编译通过,但是在程序运行过程中产生的错误. java异常类都是由Throwable类派生而来的,派生出来的两个分支分别 ...

  9. python3 练习3

    ##c##写法 #include<iostream>using namespace std;class Rectangle{public:    int j;void area(int X ...

  10. XAMPP: Another web server is already running

    nginx 和 xampp 一起使用的时候,如果 nginx先启动,然后 再启动 xampp的时候,就是修改了 http.conf也是会报如果错误 liaohb@ubuntu-xtn->$sud ...