标签:
第一章 简介
MongoDB是面向文档的数据库,不是关系型数据库。内置对MapReduce的支持,以及对地理空间索引的支持。
第二章 入门
2.1 文档
文档是MongoDB的核心概念。
2.2 集合
集合就是一组文档。
命名:
推荐使用子集合来组织数据。以“.”分开的按命名空间划分。
2.3 数据库
多个集合组成数据库。数据库通过名字来标识:
保留数据库:admin、local、config
2.4 启动MongoDB
要启动该服务,需要运行mongod可执行文件。
2.5 MongoDB Shell
运行mongo启动shell。(mongo [host/db: port])
MongoDB客户端,全局变量db,用use [db]命令切换数据库
基本操作
db.help()可以查看数据库级别的命令的帮助,集合的相关帮助可以通过db.foo.help()来查看。
函数名不写括号,就会显示该函数的Javascript源码。
var collections = ["posts", "comments", "authors"] for (i in collections) { doStuff(db.blog[collections[i]]); }
2.6 数据类型
基本数据类型、数字、日期(new Date())、数组、内嵌文档等。
_id和ObjectId
第三章 创建、更新及删除文档
基本的插入删除修改操作
db.foo.insert({"bar":"baz"}) db.users.remove() db.mailing.list.remove({"opt-out":true}) start = time.time() db.drop_collection("bar") joe.relationships={"friends":joe.friends,"enimies":joe.enimies}; delete joe.friends; delete joe.enimies; db.users.update({"name":"joe"}, joe)
使用修改器$set, $inc, $ne, $push, $addToSet, $each
//添加或删除键值 db.users.update({"name":"joe"}, {"$set":{"favorite book":"war and peace"}}) db.users.update({"name":"joe"}, {"$unset":{"favorite book":1}}) //增减数值 db.games.update({"game":"pinball", "user":"joe"}, {"$inc":{"score":50}}) //向数组添加值 db.papers.update({"authors cited":{"$ne":"Richie"}}, {"$push":{"authors cited":"Richie"}}) //集合中增加值 db.users.update({"_id":ObjectId("xxxx")},{"$addToSet":{"emails":"xxx@126.com"}}) db.users.update({"_id":ObjectId("xxxx")},{"$addToSet":{"emails":{"$each":["xxx@126.com", "xxx@hotmail.com"]}}}) //集合中删除值 db.lists.insert("todo":["dishes","laundry","dry cleaning"]) db.lists.update({},{"$pull":{"todo":1}}) //从数组末尾删除 db.lists.update({},{"$pop":{"todo":-1}}) //从数组开头删除 //数组定位 db.blog.update({"post":post_id},{"$inc":{"comments.0.votes":1}}) //用下标 db.blog.update({"comments.author":"John"},{"$set":{"comments.$.author":"Jim"}}) //只替换第一个
第四章 查询
第五章 索引
第六章 聚合
第七章 进阶指南
第八章 管理
第九章 复制
第十章 分片
第十一章 应用举例
MongoDB: The Definitive Guide [1]
标签:
原文地址:http://www.cnblogs.com/urwlcm/p/4625137.html