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中apply函数的用法实例教程
Jul 31 Python
在Python的Flask框架中使用模版的入门教程
Apr 20 Python
python分析作业提交情况
Nov 22 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
python requests证书问题解决
Sep 05 Python
详解python路径拼接os.path.join()函数的用法
Oct 09 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
屏蔽Django admin界面添加按钮的操作
Mar 11 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
Python创建文件夹与文件的快捷方法
Dec 08 Python
微信小程序调用python模型
Apr 21 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
基于mysql的论坛(3)
2006/10/09 PHP
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
php抓取https的内容的代码
2010/04/06 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
js比较日期大小的方法
2015/05/12 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
python解析中国天气网的天气数据
2014/03/21 Python
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
python2与python3共存问题的解决方法
2018/09/18 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
10条PHP编程习惯
2014/05/26 面试题
代码中finally中的代码会不会执行
2012/02/06 面试题
教师评优的个人自我评价分享
2013/09/19 职场文书
银行实习鉴定
2013/12/13 职场文书
创意广告词
2014/03/17 职场文书
教学改革实施方案
2014/03/31 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
酒店宣传语大全
2015/07/13 职场文书
Golang表示枚举类型的详细讲解
2021/09/04 Golang
table不让td文字溢出操作方法
2022/12/24 HTML / CSS