参考文章
http://www.cnblogs.com/Joans/p/3729914.html //命令帮助系统
http://segmentfault.com/a/1190000002694268?_ea=184402 //基础知识
http://api.mongodb.org/python/current/tutorial.html //pymongo tutorial
MongoDB基础知识
-
文档
是MongoDB的核心概念; 和关系型数据库中的行十分类似; 是键值对的有序集; 区分大小写。
-
集合Collection
是文档的集合; 如果文档能够表示为行,那么集合很显然就相当于一张表了; 动态模型:集合中的文档可以是各式各样的; 子集合:.通常用此标记来访问;
-
基本的数据类型
null: 用于表示空值或者不存在的字段: { "x": null } bool: 布尔型 { "x": true, "y": false } String: 字符串 { "x": "这是一个字符串" } number: 数值 { "pi": 3.14, "x": 3, "ni": NumberInt("3"), "nl": NumberLong("3") } String: 字符串 { "x": "这是一个字符串" } date: 日期 { "x": new Date() } regular expression: 正则表达式 { "x": /foobar/i } array:数组 { "a": ["x", "y", "z"] } object id 形式以及生成方式:
object id 提供了秒级别的唯一性,机器码是机器主机名的散列值(hash); 同一个进程在同一秒内产生的Objectid是不同的,每进程每秒最多拥有2563Objectid
JavaScript Shell
-
命令
mongod --dbpath /Users/…/*开启服务器后面是配置数据库存放的位置*/ mongo/*开启客户端 连接服务器*/ db use dbName/*switched to db dbName*/ db.createCollection(“collectionName”) db.collectionName.insert(post)/*post is a file’s name*/ db.blog.find() and db.blog.findOne()/*These are used to list the documents in the collection that you want to index*/ db.collectionName.update({“title”: “这是一篇文章”}, post) db.collectionName.remove({“title”: “这是一篇文章”}) mongo mongo-db.phoenix.com:30000/ahaInsight/*连接指定的mongod*/ mongo --nodb/*启动时可以让mongo shell不连接任何的mongod*/ conn = new Mongo(“host.name:30000”) db = conn.getDB(“dbname”)
Mongo连接数据库
获取客户端:client = MongoClient()
获取数据库:db = client.stack
获取collection: col = db.col