分类分类
大小:280.00 KB更新:2017/11/23
类别:数据库类系统:Winll

windows pymongo是文件储存的数据库处理程序,能够针对MongoDB数据库的相互关系,这款高效率、高可用性的数据库产品,具有强大的面向集合储存功能,查询监视、复制文件等。有需要的朋友欢迎来IT猫扑下载使用。
python 使用MongoDB的简单教程,将使用pymongo对MongoDB进行的各种操作进行了简单的汇总,NoSQLFan进行了简单整理,使用Python的同学可以看一看。
下载相应平台的版本,解压即可。为方便使用,将bin路径添加到系统path环境变量里。其中mongod是服务器,mongo是客户shell,然后创建数据文件目录:在c盘下创建data文件夹,里面创建db文件夹。

当前可下载选项:
pymongo-2.6.3.tar.gz Source
pymongo-2.6.3.win32-py2.7.exe MS Windows installer
PyMongo安装
安装pymongo-2.6.3.tar.gz
解压之后,cmd运行语句:
C:Userslibing>cd /d E:pymongo-2.6.3
E:pymongo-2.6.3>python setup.py install
安装pymongo-2.6.3.win32-py2.7.exe
双击打开即可进入安装
安装对应语言的Driver,Python 安装 pymongo
$ easy_install pymongo
使用方法总结,摘自官方教程
创建连接
>>> import pymongo>>> connection=pymongo.Connection('localhost',27017)
切换数据库
>>> db = connection.test_database
获取collection
>>> collection = db.test_collection
db和collection都是延时创建的,在添加Document时才真正创建
文档添加,_id自动创建
>>> import datetime>>> post = {&author&: &Mike&,... &text&: &My first blog post!&,... &tags&: [&mongodb&, &python&, &pymongo&],... &date&: datetime.datetime.utcnow()}>>> posts = db.posts>>> posts.insert(post)ObjectId('...')
批量插入
>>> new_posts = [{&author&: &Mike&,... &text&: &Another post!&,... &tags&: [&bulk&, &insert&],... &date&: datetime.datetime(2009, 11, 12, 11, 14)},... {&author&: &Eliot&,... &title&: &MongoDB is fun&,... &text&: &and pretty easy too!&,... &date&: datetime.datetime(2009, 11, 10, 10, 45)}]>>> posts.insert(new_posts)[ObjectId('...'), ObjectId('...')]
获取所有collection(相当于SQL的show tables)
>>> db.collection_names()[u'posts', u'system.indexes']
获取单个文档
>>> posts.find_one(){u'date': datetime.datetime(...), u'text': u'My first blog post!', u'_id': ObjectId('...'), u'author': u'Mike', u'tags': [u'mongodb', u'python', u'pymongo']}
查询多个文档
>> for post in posts.find():... post...{u'date': datetime.datetime(...), u'text': u'My first blog post!', u'_id': ObjectId('...'), u'author': u'Mike', u'tags': [u'mongodb', u'python', u'pymongo']}{u'date': datetime.datetime(2009, 11, 12, 11, 14), u'text': u'Another post!', u'_id': ObjectId('...'), u'author': u'Mike', u'tags': [u'bulk', u'insert']}{u'date': datetime.datetime(2009, 11, 10, 10, 45), u'text': u'and pretty easy too!', u'_id': ObjectId('...'), u'author': u'Eliot', u'title': u'MongoDB is fun'}
加条件的查询
>>> posts.find_one({&author&: &Mike&})
高级查询
>>> posts.find({&date&: {&$lt&: d}}).sort(&author&)
统计数量
>>> posts.count()3
加索引
>>> from pymongo import ASCENDING, DESCENDING>>> posts.create_index([(&date&, DESCENDING), (&author&, ASCENDING)])u'date_-1_author_1'
查看查询语句的性能
>>> posts.find({&date&: {&$lt&: d}}).sort(&author&).explain()[&cursor&]u'BtreeCursor date_-1_author_1'>>> posts.find({&date&: {&$lt&: d}}).sort(&author&).explain()[&nscanned&]2
缺点
不是全盘取代传统数据库(NoSQLFan:是否能取代需要看应用场景)
不支持复杂事务(NoSQLFan:MongoDB只支持对单个文档的原子操作)
文档中的整个树,不易搜索,4MB限制?(NoSQLFan:1.8版本已经修改为16M)
特点(NoSQLFan:作者在这里列举的很多只是一些表层的特点):
文档型数据库,表结构可以内嵌
没有模式,避免空字段开销(Schema Free)
分布式支持
查询支持正则
动态扩展架构
32位的版本最多只能存储2.5GB的数据(NoSQLFan:最大文件尺寸为2G,生产环境推荐64位)
名词对应
一个数据项叫做 Document(NoSQLFan:对应mysql中的单条记录)
一个文档嵌入另一个文档(comment 嵌入 post)叫做 Embed
储存一系列文档的地方叫做 Collections(NoSQLFan:对应MySQL中的表)
表间关联,叫做 Reference
PyMongo基本使用:引用PyMongo
>>> import pymongo
创建连接Connection
>>> import pymongo
>>> conn = pymongo.Connection('localhost',27017)
或
>>> from pymongo import Connection
>>> conn = Connection('localhost',27017)
创建Connection时,指定host及port参数
>>> import pymongo
>>> conn = pymongo.Connection(host='127.0.0.1',port=27017)
连接数据库
>>> db = conn.ChatRoom
或
>>> db = conn['ChatRoom']
连接聚集
>>> account = db.Account
或
>>> account = db[&Account&]
查看全部聚集名称
>>> db.collection_names()
查看聚集的一条记录
>>> db.Account.find_one()
>>> db.Account.find_one({&UserName&:&keyword&})
查看聚集的字段
>>> db.Account.find_one({},{&UserName&:1,&Email&:1})
{u'UserName': u'libing', u'_id': ObjectId('4ded95c3b7780a774a099b7c'), u'Email': u'libing@35.cn'}
>>> db.Account.find_one({},{&UserName&:1,&Email&:1,&_id&:0})
{u'UserName': u'libing', u'Email': u'libing@35.cn'}
查看聚集的多条记录
>>> for item in db.Account.find():
item
>>> for item in db.Account.find({&UserName&:&libing&}):
item[&UserName&]
查看聚集的记录统计
>>> db.Account.find().count()
>>> db.Account.find({&UserName&:&keyword&}).count()
聚集查询结果排序
>>> db.Account.find().sort(&UserName&) --默认为升序
>>> db.Account.find().sort(&UserName&,pymongo.ASCENDING) --升序
>>> db.Account.find().sort(&UserName&,pymongo.DESCENDING) --降序
聚集查询结果多列排序
>>> db.Account.find().sort([(&UserName&,pymongo.ASCENDING),(&Email&,pymongo.DESCENDING)])
添加记录
>>> db.Account.insert({&AccountID&:21,&UserName&:&libing&})
修改记录
>>> db.Account.update({&UserName&:&libing&},{&$set&:{&Email&:&libing@126.com&,&Password&:&123&}})
删除记录
>>> db.Account.remove() -- 全部删除
>>> db.Test.remove({&UserName&:&keyword&})
pymongo 2.6.3 其他版本官方下载:https://pypi.python.org/pypi/pymongo/#downloads
navicat for mysql 12 中文破解版(含注册码)数据库类48.80 MBv12.1.13 免费版_32位/64位
详情Navicat Premium中文免费版数据库类31.10 MBv11.2.13 32位/64位通用版
详情Access database engine 2010数据库类27.20 MBv14.06.119.500 官方简体中文版
详情Microsoft SQL Server 2000 Personal Edition数据库类311.91 MB中文个人版带sp4补丁
详情SQL Server 2016 express数据库类213.80 MB中文精简版
详情Microsoft SQL Server 2000简体中文企业版数据库类312.18 MB
详情access database engine 2016中文版数据库类79.30 MBv16.0.5044.1000 安装版64/32位
详情accessdatabaseengine_x64.exe数据库类27.58 MB微软官方版
详情navicat premium绿色版数据库类64.00 MBv12.0.11.0 简体中文免安装版
详情SQLite Expert 5专业版数据库类82.00 MBv5.4.2.501 免费版
详情microsoft access 64位驱动数据库类27.70 MBv14.0.6119.5000 官方版
详情解决microsoft.ace.oledb.12.0连接失败所需要的驱动数据库类25.10 MB完整版
详情PowerDesigner数据库类474.97 MBv16.5.0.3982 汉化版
详情navicat premium 32位全功能免费版数据库类83.00 MBv16.0.11.0 中文官方版
详情Navicat 8 for MySQL(mysql图形化界面软件)数据库类14.63 MBv8.0.20 免安装中文版
详情microsoft office access 2010免费完整版数据库类20.87 MB官方多国语言版
详情toad for oracle中文版数据库类84.10 MBv12.8.0.49 绿色汉化版
详情wincc7.3免狗破解软件数据库类1.14 MB附破解方法+授权文件
详情Microsoft Office Access 2010数据库类272.80 MB官方免费完整版
详情sql2005企业版(SQL Server 2005 Enterprise Edition)数据库类1.84 GB32位/64位 简体中文破解版
详情点击查看更多
Microsoft SQL Server 2000 Personal Edition数据库类311.91 MB中文个人版带sp4补丁
详情SQL Server 2008 X86+64数据库类2.38 GB简体中文官方版
详情sql server 2008 sp3数据库类312.00 MBv10.00.550 简体中文版(32/64位)
详情Microsoft SQL Server 2000简体中文企业版数据库类312.18 MB
详情SQL Server 2005 SP2数据库类297.38 MB简体中文版
详情解决microsoft.ace.oledb.12.0连接失败所需要的驱动数据库类25.10 MB完整版
详情Oracle数据库存储开发(PL/SQL Developer)数据库类54.53 MBv11.0.2.1766 绿色中文版
详情instantclient-basic-win-x64位数据库类71.50 MBv12.2.0.1.0 免费版
详情S7-200库文件大全数据库类4.83 MB免费版
详情navicat premium绿色版数据库类64.00 MBv12.0.11.0 简体中文免安装版
详情sql server 2008 r2安装包中文完整版数据库类4.16 GB简体中文版
详情microsoft sql server 2014数据库类1.86 GB64位/32位 官方正式版
详情SQL Server 2008数据库类92.40 MBx64 中文精简版
详情MariaDB for Windows数据库类51.00 MBv10.5.8 官方安装版
详情oracle11g客户端精简版数据库类30.00 MBv11.2.0.1.0 绿色版
详情MSSQLServer 2000SP4补丁数据库类66.65 MB汉化版
详情win10常用运行库数据库类35.00 MBv2020.9.11 官方版
详情Microsoft sql server 2012 r2 企业版数据库类3.91 GB官方简体中文版_64位/32位
详情Access database engine 2010数据库类27.20 MBv14.06.119.500 官方简体中文版
详情xdrx api for acad数据库类35.78 MBv2018.06.28 最新版
详情点击查看更多
navicat for mysql 64位数据库类25.05 MBv16.0.110 中文免费版
详情Navicat for Oracle数据库类16.70 MBv12.0.29 中文版
详情sqlite expert personal个人免费版数据库类64.20 MBv5.4.4.538 官方版
详情Quest Toad For Oracle数据库类133.65 MBv12.1 32&64位绿色注册版
详情SQL Server 2005 SP2数据库类297.38 MB简体中文版
详情Access数据库查询分析器数据库类6.74 MBv2.4 免费中文版
详情sql server 2008 sp3数据库类312.00 MBv10.00.550 简体中文版(32/64位)
详情Oracle数据库存储开发(PL/SQL Developer)数据库类54.53 MBv11.0.2.1766 绿色中文版
详情HeidiSQL(MySQL图形化管理工具)数据库类5.77 MBv11.2.0.6219 绿色中文版
详情Microsoft office access 2007数据库类34.65 MB精简绿色破解版
详情Oracle 11g 64位/32位数据库类2.05 GBv11.2.0.1.0 官方第二版
详情sqlyog ultimate 64位数据库类7.50 MBv13.1.1 官方中文注册版
详情dbc2000 win7 64位数据库类16.10 MB中文汉化版
详情Microsoft SQL Server 2000简体中文企业版数据库类312.18 MB
详情MySQL for windows 5.1.53数据库类37.97 MB32位
详情microsoft access 2013数据库类140.00 MB免费完整版
详情Navicat 8 for MySQL(mysql图形化界面软件)数据库类14.63 MBv8.0.20 免安装中文版
详情SQL Server 2008 sp4数据库类386.88 MBv10.0.6000.29 简体中文完整版
详情pinyin4j-2.5.0.jar(java汉字转拼音)数据库类186.00 KB免费版
详情dbc2000汉化补丁数据库类1.00 MB
详情点击查看更多


































