`
hbxflihua
  • 浏览: 678887 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

mongodb入门

阅读更多

关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”。

 

准备工作:下载安装mongodb

 

1、启动mongodb

# mongodb数据存储路径不能有空格

mongod --dbpath=D:/mongodb

# mongodb默认使用27017端口

 

 

2、基本操作

 

#登录

cd $mongodb/bin
mongo

 

1> insert

db.person.insert({"name":"jack","age":25})
db.person.insert({"name":"tom","age":20})
db.person.insert({"name":"jason","age":21})

var rose={"name":"rose","sex":1,"age":18}
db.person.insert(rose)

 

2> find

# 查询所有

db.person.find()

 # "_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。

 

# 查询jack用户信息

db.person.find({"name":"jack"})

 

# 日常开发中,常见查询的操作

① 范围查询:>, >=, <, <=, !=, = 在mongodb中分别对应$gt, $gte, $lt, $lte, $ne

#查询年龄小于等于20岁的用户

db.person.find({"age":{$lte:20}})

 

 

② 逻辑关联:OR,In,not in 在mongodb中分别对应$or, $in, $nin

# 查询用户名包含jack 和rose的用户

db.person.find({"name":{$in:["jack", "rose"]}})

 

# 查询用户名为jack 年龄为25岁的用户

db.person.find({"name":"jack","age":20})

 

# 查询用户名以j开头的用户信息

db.person.find({"name":/^j/})

 

# 查询用户名以e结尾的用户信息

db.person.find({"name":/e$/})

 

# where查询

db.person.find({$where:function(){return this.name=="jack"}})

 

3> update

# update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”

db.person.update({"name":"tom"},{"name":"joe","age":19})

 

#局部修改器$inc 和 $set

#$inc修改器

db.person.update({"name":"jack"},{$inc:{"age":30}})

 

#$set修改器

db.person.update({"name":"jack"},{$set:{"age":20}})

 

4> remove

# 删除jack用户信息

db.person.remove({"name":"jack"})

 

3、聚合

1> count

# 统计用户数

 db.person.count()

 

# 统计年龄在20岁的用户数

 db.person.count({"age":20})

  

2> distinct

#查询年龄段

db.person.distinct("age")

 

3> group

#按照age进行分组

db.person.group({"key":{"age":true},"initial":{"person_name":[]},"$reduce":function(cur,prev){prev.person_name.push(cur.name);}})

 

 

4> mapReduce

mapReduce其实是一种编程模型,用在分布式计算中,其中有一个“map”函数,一个”reduce“函数。

① map:这个称为映射函数,里面会调用emit(key,value),集合会按照你指定的key进行映射分组。 ②reduce:这个称为简化函数,会对map分组后的数据进行分组简化,注意:在reduce(key,value)中的key就是emit中的key,vlaues为emit分组后的emit(value)的集合。

db.orders.insert({"cust_id":"A123","amount":500,"status":"A"})
db.orders.insert({"cust_id":"A123","amount":250,"status":"A"})
db.orders.insert({"cust_id":"B212","amount":200,"status":"A"})
db.orders.insert({"cust_id":"A123","amount":300,"status":"D"})
db.orders.mapReduce(
	function(){emit(this.cust_id,this.amount);},//map
	function(key, values){return Array.sum(values)},//reduce
	{
	 query:{status:"A"},
	 out:"order_totals"	
	}
)
db.order_totals.find()

 参考:http://www.cnblogs.com/loogn/archive/2012/02/09/2344054.html

4、游标

var list = db.person.find();
list.forEach(function(x){
	print(x.name);
})

 

 

 

分享到:
评论

相关推荐

    MongoDB入门指南.pdf

    MongoDB入门指南 MongoDB是一种开源的文档类型数据库,它具有高性能、可扩展、高可用、自动收缩等特性。MongoDB能够避免传统的ORM映射,从而有助于开发。MongoDB中的每一行记录就是一个文档,它是一个由键值对构成...

    MongoDB入门教程 + 架构简析 + java使用MongoDB的简单程序

    首先,我们从"MongoDB入门教程"开始。MongoDB采用的是键值对存储方式,数据以JSON格式(BSON)存储,这使得数据的读写更加自然和高效。MongoDB支持丰富的查询语法,包括字段选择、条件操作、排序和分组,为开发者...

    MongoDB入门.pdf

    ### MongoDB入门知识点详解 #### 一、NoSQL简介与MongoDB概述 - **NoSQL**:NoSQL(Not Only SQL)是一种非关系型数据库管理系统的总称,它突破了传统关系型数据库在处理大规模数据时的限制,尤其适用于大数据及高...

    MongoDB 入门

    在这个“MongoDB入门”主题中,我们将深入探讨MongoDB的基础知识、安装与配置、数据模型、查询操作以及高级特性。 首先,让我们了解MongoDB的基本概念。MongoDB以其“集合”(Collections)和“文档”(Documents)...

    mongoDB入门到精通.txt

    ### MongoDB入门到精通知识点概述 #### 一、MongoDB简介 MongoDB是一种开源的文档数据库,采用JSON格式存储数据,并提供了高性能、高可用性和自动扩展的能力。它属于NoSQL数据库的一种,非常适合处理大规模数据和...

    MongoDB入门到精通 中文资料

    Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。...

    MongoDB入门学习

    ### MongoDB入门学习知识点详解 #### 一、MongoDB简介与特点 MongoDB是一种非常流行的开源文档型NoSQL数据库系统,以其高性能、高可用性及易扩展性而著称。相较于传统的关系型数据库如MySQL、Oracle等,MongoDB...

    mongodb入门到精通

    根据提供的文件内容,我们将详细探讨MongoDB相关的知识点,并围绕NoSQL数据库的特点和优势,以及分布式系统理论中的CAP定理和ACID与BASE模型。 首先,MongoDB是一种流行的NoSQL数据库,它以文档的形式存储数据,与...

    MongoDB入门到精通

    ### MongoDB入门到精通 #### 一、MongoDB简介 **MongoDB** 是一款采用 C++ 编写的开源、可扩展且高性能的文档型数据库。它以其面向文档的特性、易于扩展性和高性能而著称,成为了现代应用开发中非常受欢迎的选择之...

    MongoDB入门指南

    《MongoDB入门指南》是一个快速入门MongoDB的教程,它以MongoDB的3.0版本进行说明。本教程安装的是MongoDB Windows 64位版本,目的只是为了让读者快速的入门MongoDB,快速理解和操作MongoDB。在开发或生产中强烈要求...

    MongoDB 入门教程 chm手册

    MongoDB 的入门教程旨在帮助初学者快速掌握这个数据库系统的基本概念和操作。 《MongoDB 入门教程》CHM 手册可能涵盖以下关键知识点: 1. **数据模型**:MongoDB 使用类似 JSON 的文档结构(BSON)来存储数据,...

    MongoDB入门教程及用例

    1.mongodb-win32-i386-2.4.8.zip 由于大小限制,请到官网下载...2.MongoDB开发使用手册.docx 3.MongoDB快速入门教程.docx 4.MongoDB入门经典.doc 5.MougoTest.rar(MongoDB入门经典.doc用例)

    Mongodb入门教程、示例+Spring Boot完整示例+聚合.docx

    "Mongodb入门教程、示例+Spring Boot完整示例+聚合" 本节课将完整地介绍 MongoDB 的入门教程、示例、Spring Boot 完整示例和聚合。 简介 NoSQL(Not Only SQL)是一种非关系型的数据库, MongoDB 是基于分布式...

    MongoDB 入门教程笔记

    MongoDB 入门教程笔记

    MongoDB入门指南 by it-ebooks.epub

    MongoDB入门指南

    MongoDB入门篇1

    MongoDB入门篇1主要介绍了数据的基本概念,数据库管理系统(DBMS)的定义,常见的数据库管理系统,以及NoSQL数据库的相关知识。 1. 数据:数据是未经处理的原始记录,描述事物存在的符号,通常需要通过组织和分类...

    mongoDB入门实战手册(中文版)

    ### MongoDB入门实战手册知识点概述 #### 一、MongoDB简介 MongoDB是一种开源的文档型数据库,属于NoSQL数据库的一种。它使用JSON格式的文档来存储数据,具有高性能、高可用性和易扩展性等特点,非常适合处理半结构...

    MongoDB入门与开发范例

    ### MongoDB入门与开发范例 #### 一、MongoDB与NoSQL运动 MongoDB作为NoSQL运动中的一个重要成员,它的出现和发展标志着数据库技术领域的新篇章。NoSQL(Not Only SQL)运动强调使用非关系型数据存储,以解决传统...

    《mongodb入门》读书笔记

    ### MongoDB入门知识点详解 #### MongoDB概述 MongoDB是一款开源、高性能、无模式的文档型数据库系统,被广泛应用于Web应用及大数据处理等场景。它采用了BSON(Binary JSON)格式来存储数据,使得数据存储更加灵活...

Global site tag (gtag.js) - Google Analytics