Python搭配MongoDB使用方法
?
Python搭配MongoDB使用方法
原文地址:http://serholiu.com/python-mongodb
?
?

?
?
下面就谈谈Python操作MongoDB的一些基本用法,先介绍一下MongoDB,这是现在风头正劲的NoSQL数据库,没有关系数据库那种表之类的概念,就像Python中的字典一样,一个键对应一个值,然后这些键值组成一个文档,然后文档组成一个集合,集合再组成一个数据库,类型十分丰富,使用Python操作MongoDB需要安装MongoDB的Python驱动,安装完成后,就可以和我一起开始了。
启动数据库(具体方法不是本文重点),连接数据库。
1 >>> from pymongo import Connection #导入模块2 >>> con = Connection()3 >>> db = con.test #连接test数据库4 >>> posts = db.post #连接test中的post集合,相当于MySQL中的表
?
很好的一点就是,数据库不需要先建立,在连接后,如果进行插入数据操作,系统可以自己创建,我们假设一个post集合,里面是一些博客文章组成的文档。下面先插入几篇文章做实验。
?
1 >>> import datetime 2 >>> post1 = {"title":"I Love Python", 3 "slug":"i-love-python", 4 "author":"SErHo", 5 "content":"I Love Python....", 6 "tags":["Love","Python"], 7 "time":datetime.datetime.now()} 8 9 >>> post2 = {"title":"Python and MongoDB",10 "slug":"python-mongodb",11 "author":"SErHo",12 "content":"Python and MongoDB....",13 "tags":["Python","MongoDB"],14 "time":datetime.datetime.now()}15 16 >>> post3 = {"title":"SErHo Blog",17 "slug":"serho-blog",18 "author":"Akio",19 "content":"SErHo Blog is OK....",20 "tags":["SErHo","Blog"],21 "time":datetime.datetime.now()}22 23 >>> posts.insert(post1)24 >>> posts.insert(post2)25 >>> posts.insert(post3)?
增加数据就是这样的简单,不需要事先定义文档的机构,每个文档的结构也可以不一样,上面我举的例子是一样的,这可以根据实际需求来设置,我这个是为了好讲解下面的。插入过后,肯定最先的是查询,下面查询出post集合里面的所有文档:
"Hello"}})这个将先搜索tags中满足”MongoDB”的,如果找到,就把它修改为”Hello”。可以看到上面的update这个函数已经有两个参数了,它还有第3个参数upsert,如果设为”True”,则如果没有找到匹配的文档,就会在匹配的基础上新建一个文档,具体实例就不讲了。
现在使用Python来插入,修改数据已经讲完,后面会继续讲解强大的查询功能和聚合功能。等待下一篇吧。
?
?