PyMongo安装使用笔记

这里是简单的安装和使用记录,首先要有一个可用的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操作等以后在总结。

(0)

相关推荐

  • pymongo为mongodb数据库添加索引的方法

    本文实例讲述了pymongo为mongodb数据库添加索引的方法.分享给大家供大家参考.具体实现方法如下: from pymongo import ASCENDING, DESCENDING posts.create_index([("date", DESCENDING), ("author", ASCENDING)]) 返回: u'date_-1_author_1' 希望本文所述对大家的Python程序设计有所帮助.

  • pymongo实现多结果进行多列排序的方法

    本文实例讲述了pymongo实现多结果进行多列排序的方法.分享给大家供大家参考.具体分析如下: 这里多列排序即指定多个排序字段. 集合查询结果排序 复制代码 代码如下: >>> db.Account.find().sort("UserName")  --默认为升序 >>> db.Account.find().sort("UserName",pymongo.ASCENDING)   --升序 >>> db.Acco

  • Python操作MongoDB数据库PyMongo库使用方法

    引用PyMongo 复制代码 代码如下: >>> import pymongo 创建连接Connection 复制代码 代码如下: >>> import pymongo >>> conn = pymongo.Connection('localhost',27017) 或 复制代码 代码如下: >>> from pymongo import Connection >>> conn = Connection('local

  • Python的MongoDB模块PyMongo操作方法集锦

    开始之前当然要导入模块啦: >>> import pymongo 下一步,必须本地mongodb服务器的安装和启动已经完成,才能继续下去. 建立于MongoClient 的连接: client = MongoClient('localhost', 27017) # 或者 client = MongoClient('mongodb://localhost:27017/') 得到数据库: >>> db = client.test_database # 或者 >>

  • pymongo实现控制mongodb中数字字段做加法的方法

    本文实例讲述了pymongo实现控制mongodb中数字字段做加法的方法.分享给大家供大家参考.具体分析如下: 这个非常实用,比如我们需要给文章做访问统计,可以设置一个数字字段:hit,然后每次点击后给改字段增加1即可 import pymongo #导入pymongo 模块 conn = pymongo.Connection() #连接本地mongodb数据库 db=conn.database #database为数据库名称 collection = db.article #article为c

  • pymongo给mongodb创建索引的简单实现方法

    本文实例讲述了pymongo给mongodb创建索引的简单实现方法.分享给大家供大家参考.具体如下: 下面的代码给user的user_name字段创建唯一索引 import pymongo mongo = pymongo.Connection('localhost') collection = mongo['database']['user'] collection.ensure_index('user_name', unique=True) 希望本文所述对大家的Python程序设计有所帮助.

  • Windows下PyMongo下载及安装教程

    PyMongo下载 PyMongo下载地址: http://pypi.python.org/pypi/pymongo/#downloads 当前可下载选项: 复制代码 代码如下: pymongo-1.11.tar.gz                                       Source pymongo-1.11.win32-py2.7.exe                        MS Windows installer PyMongo安装 安装pymongo-1.

  • PyMongo安装使用笔记

    这里是简单的安装和使用记录,首先要有一个可用的mongo环境,win环境或者linux环境都可以. 假定你对mongo有所了解和知道一些命令行操作. 安装和更新 跟大多数py包安装一样,可以源码安装,也可以使用pip或者easy_install来安装 安装 复制代码 代码如下: pip install pymongo 升级 复制代码 代码如下: pip install --upgrade pymongo 其他安装方法请参照文档pymongo安装 操作 官网教程 小案例 复制代码 代码如下: #-

  • 运行Node.js的IIS扩展iisnode安装配置笔记

    今年年初打算用Node.js基于Express框架重写博客程序,从此告别ASP.NET.然而,我目前用的VPS是Windows Server系统.IIS服务器,如果让Express和IIS都监听80端口,明显会产生冲突.幸好,有一个叫做iisnode的扩展可以把Node.js程序托管到IIS.而且,这样托管之后也意味着可以使用IIS里面的各种功能(进程管理.GZip压缩.日志.缓存.权限控制.域名绑定等). 要使用iisnode,得安装: 1.Node.js 2.IIS的URL Rewrite模

  • mysql 5.7.13 安装配置笔记(Mac os)

    一.MySQL5.7.13安装 到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本 mysql-5.7.13-osx10.11-x86_64 .dmg 下载完的文件为:mysql-5.7.13-osx10.11-x86_64 .dmg 点击安装包一步步傻瓜式安装就行. 系统偏好设置的其他里,点击"mysql"的图标 点击Start MySQL Server按钮,启动mysql 二.打开终端,定义MySQL别名 输

  • Php-Redis安装测试笔记

    后端开发用到php操作redis,在此将安装测试过程中遇到的问题汇总记录下来,以便以后参考!(系统为ubuntu) 1.redis安装 下载地址:http://download.redis.io/releases/ 解压安装: 复制代码 代码如下: tar -xvf redis-2.8.17.tar.gz make sudo make install 为方便使用,在/usr目录下创建redis目录,讲如下几个文件拷贝到/usr/redis/目录下: 复制代码 代码如下: /yourdir/red

  • 详解Python pygame安装过程笔记

    今天看到一个教程,是关于Python安装pygame模块的.觉得很好,拿来分享一下. 安装Python 额,这个小题貌似在这里很是多余啊.但是为了照顾到刚刚学习Python的童鞋,我还是多啰嗦两句吧. 具体如下: 我们要到Python官网.去下载我们需要的版本.我这里下载的是windows64位 的Python2.7 msi.安装的过程如果不懂,选择为默认即可. 安装easy_install 至于这是个什么东东?我们大可不必劳心,现在只需要知道它能帮助我们安装一些库就可以了.具体的安装过程也很简

  • Python NumPy库安装使用笔记

    1. NumPy安装 使用pip包管理工具进行安装 复制代码 代码如下: $ sudo pip install numpy 使用pip包管理工具安装ipython(交互式shell工具) 复制代码 代码如下: $ sudo pip instlal ipython $ ipython --pylab  #pylab模式下, 会自动导入SciPy, NumPy, Matplotlib模块 2. NumPy基础 2.1. NumPy数组对象 具体解释可以看每一行代码后的解释和输出 复制代码 代码如下:

  • FREEBSD安装POSTGRESQL笔记

    折腾了好长时间,重新初始化好多次. 安装的时候,命令:pkg search postgresql.额 好多包,选择最新的9.4安装server,会一起安装client.安装完会有很多文字提示,这个很有用.安装完会新建一个用户pgsql,家目录为/usr/local/pgsql. 第一步 要先切换到pgsql用户下,su root, su pgsql.然后在pgsql home目录创建data文件夹.root用户下好像是不允许的 初始化,initdb -D /usr/local/pgsql/dat

  • CentOS6.6 安装 Tengine 笔记

    在先前的文章中介绍过Tengine,先前只是使用了运维人员配置好的内容,未自己进行过安装配置.周末闲来无事,对于Tengine进行了尝试性的安装.记录下面方便以后再做改进. Tengine官网上有个非常简单的教程,中间并未涉及到一些常用的设置,所以仅供参考.一下午为本人的安装步骤及过程. 1.安装必要的编译环境好 由于Tengine安装需要使用源代码自行编译,所以在安装前需要安装必要的编译工具: 复制代码 代码如下: # yum update # yum install gcc gcc-c++

  • mysql 5.7.17 安装配置方法图文教程(CentOS7)

    CentOS7安装mysql笔记 1 CentOS7默认安装mariadb数据库,卸载mariadb. rpm -qa|grep mariadb yum remove mariadb-libs.x86_64 2 配置YUM源 1)下载mysql源安装包 wget http://xiazai.jb51.net/201612/yuanma/mysql57YUM(jb51.net).rar 2)安装mysql源 yum localinstall mysql57-community-release-el

随机推荐