PyMongo安装使用笔记


Posted in Python onApril 27, 2015

这里是简单的安装和使用记录,首先要有一个可用的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操作等以后在总结。
Python 相关文章推荐
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
编写Python小程序来统计测试脚本的关键字
Mar 12 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
Python数据类型之Set集合实例详解
May 07 Python
Python配置虚拟环境图文步骤
May 20 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
Jul 05 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 Python
Python字典dict常用方法函数实例
Nov 09 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
Windows下PyMongo下载及安装教程
Apr 27 #Python
Python操作MongoDB数据库PyMongo库使用方法
Apr 27 #Python
Python的函数的一些高阶特性
Apr 27 #Python
Python简单进程锁代码实例
Apr 27 #Python
在Python中使用列表生成式的教程
Apr 27 #Python
讲解Python中的递归函数
Apr 27 #Python
理解Python中函数的参数
Apr 27 #Python
You might like
php中的观察者模式简单实例
2015/01/20 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
从零学python系列之从文件读取和保存数据
2014/05/23 Python
盘点提高 Python 代码效率的方法
2014/07/03 Python
批处理与python代码混合编程的方法
2016/05/19 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
微信小程序python用户认证的实现
2019/07/29 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
.net开发工程师面试题
2014/02/25 面试题
军校本科大学生自我评价
2014/01/14 职场文书
小学生考试获奖感言
2014/01/30 职场文书
施工材料员岗位职责
2014/02/12 职场文书
干部下基层实施方案
2014/03/14 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
2014年节能工作总结
2014/12/18 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书