手机
当前位置:查字典教程网 >脚本专栏 >python >PyMongo安装使用笔记
PyMongo安装使用笔记
摘要:这里是简单的安装和使用记录,首先要有一个可用的mongo环境,win环境或者linux环境都可以。假定你对mongo有所了解和知道一些命令行...

这里是简单的安装和使用记录,首先要有一个可用的mongo环境,win环境或者linux环境都可以。 假定你对mongo有所了解和知道一些命令行操作。

安装和更新

跟大多数py包安装一样,可以源码安装,也可以使用pip或者easy_install来安装

安装

复制代码 代码如下:

pip install pymongo

升级

复制代码 代码如下:

pip install --upgrade pymongo

其他安装方法请参照文档pymongo安装

操作

官网教程

小案例

复制代码 代码如下:

#-*- coding: utf-8 -*-

#python2.7x

#author: orangleliu @2014-09-24

'''

pymongo的简单使用

'''

from pymongo import MongoClient

def get_db():

#建立连接

client = MongoClient("localhost", 27017)

#test,还有其他写法

db = client.test

return db

def get_collection(db):

#选择集合(mongo中collection和database都是lazy创建的,具体可以google下)

collection = db['posts']

print collection

def insert_one_doc(db):

#插入一个document

posts = db.posts

post = {"name":"lzz", "age":25, "weight":"55"}

post_id = posts.insert(post)

print post_id

def insert_mulit_docs(db):

#批量插入documents,插入一个数组

posts = db.posts

post = [ {"name":"nine", "age":28, "weight":"55"},

{"name":"jack", "age":25, "weight":"55"}]

obj_ids = posts.insert(post)

print obj_ids

##查询,可以对整个集合查询,可以根ObjectId查询,可以根据某个字段查询等

def get_all_colls(db):

#获得一个数据库中的所有集合名称

print db.collection_names()

def get_one_doc(db):

#有就返回一个,没有就返回None

posts = db.posts

print posts.find_one()

print posts.find_one({"name":"jack"})

print posts.find_one({"name":"None"})

return

def get_one_by_id(db):

#通过objectid来查找一个doc

posts = db.posts

obj = posts.find_one()

obj_id = obj["_id"]

print "_id 为ObjectId类型 :"

print posts.find_one({"_id":obj_id})

#需要注意这里的obj_id是一个对象,不是一个str,使用str类型作为_id的值无法找到记录

print "_id 为str类型 "

print posts.find_one({"_id":str(obj_id)})

#可以通过ObjectId方法把str转成ObjectId类型

from bson.objectid import ObjectId

print "_id 转换成ObjectId类型"

print posts.find_one({"_id":ObjectId(str(obj_id))})

def get_many_docs(db):

#mongo中提供了过滤查找的方法,可以通过各

#种条件筛选来获取数据集,还可以对数据进行计数,排序等处理

posts = db.posts

#所有数据,按年龄排序, -1是倒序

all = posts.find().sort("age", -1)

count = posts.count()

print "集合中所有数据 %s个"%int(count)

for i in all:

print i

#条件查询

count = posts.find({"name":"lzz"}).count()

print "lzz: %s"%count

for i in posts.find({"name":"lzz", "age":{"$lt":20}}):

print i

def clear_coll_datas(db):

#清空一个集合中的所有数据

db.posts.remove({})

if __name__ == "__main__":

db = get_db()

obj_id = insert_one_doc(db)

obj_ids = insert_mulit_docs(db)

#get_all_colls(db)

#get_one_doc(db)

#get_one_by_id(db)

#get_many_docs(db)

clear_coll_datas(db)

这都是写简单的操作,至于集合操作,group操作等以后在总结。

【PyMongo安装使用笔记】相关文章:

Python 调用DLL操作抄表机

Python函数学习笔记

Python Deque 模块使用详解

Python 学习笔记

Python爬虫框架Scrapy安装使用步骤

Python 元类使用说明

Python字符遍历的艺术

Python多线程学习资料

Python urlopen 使用小示例

python使用xmlrpc实例讲解

精品推荐
分类导航