pymongo连接MongoDB
导语
pymongo 是目前用的相对普遍一个python用来连接MongoDB的库,是工作中各种基本需求都能满足
具体api可以参考
安装 MongoDB
为了测试pyMongo连接mongodb,首先当然需要在centos下安装mongo,详细参考Centos下安装MongoDB
安装 pymongo
如果没有pip, 建议先安装,至于为啥要用pip你懂得
yum install python-pip
pip 安装 pymongo
pip install pymongo
查看 pymongo是否安装成功
root@pts/4 $ python Python 2.7.5 (default, Nov 20 2015, 02:00:19) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pymongo >>> pymongo.version '3.2.2'
使用 pymongo
连接到 MongoDB
有两种方式,等同
>>> client = pymongo.MongoClient('192.168.100.3', 27017)
>>> print client
MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True)
>>> client2 = pymongo.MongoClient('mongodb://192.168.100.3:27017/')
>>> print client2
MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True)
>>>
得到 db 和 collection
有时候在脚本中会把 db 和 collection 作为参数使用,可以参考第二种方式
直接链接
>>> db = client.report >>> print db Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report') >>> collection = db.source_register >>> print collection Collection(Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report'), u'source_register') >>>
参数链接, 这种形式又有两种方法
## 定义参数 >>> pramadb = 'report' >>> pramacoll = 'source_register' ## get db >>> db2 = client[pramadb] >>> db3 = client.get_database(pramadb) >>> print db2 Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report') >>> print db3 Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report') >>> ## get collection >>> coll2 = db2[pramacoll] >>> coll3 = db3.get_collection(pramacoll) >>> print coll2 Collection(Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report'), u'source_register') >>> print coll3 Collection(Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report'), u'source_register') >>>
常规操作举例
## insert or save
>>> mydict = {"name":"James", "age": 28}
>>> collection.save(mydict)
ObjectId('57fdf212bcd34f48c4fce15a')
## find
>>> collection.find({"name":"James"})[0]
{u'age': 28, u'_id': ObjectId('57fdf212bcd34f48c4fce15a'), u'name': u'James'}
>>>
pymongo连接MongoDB的更多相关文章
- 使用pymongo连接mongodb时报错:pymongo.errors.OperationFailure: not authorized
连接本机或局域网部署的mongodb时可以用以下方法: from urllib import parse from pymongo import MongoClient host = '*.*.*.* ...
- Mongodb-- python中使用pymongo连接mongodb数据库
一.使用 通过pip或者pychrm下载pymongo模块 import json from pymongo import MongoClient from bson import ObjectId ...
- (原创) 使用pymongo 3.6.0连接MongoDB的正确姿势
0.疑惑 前两天使用pymongo连接MongoDB的时候发现了一个奇怪的现象:我本机MongoDB并没有打开,但是使用pymong.MongoClient()进行连接时,并没有异常,我的服务端也正常 ...
- Python 连接MongoDB并比较两个字符串相似度的简单示例
本文介绍一个示例:使用 pymongo 连接 MongoDB,查询MongoDB中的 字符串 记录,并比较字符串之间的相似度. 一,Python连接MongoDB 大致步骤:创建MongoClient ...
- centos7 远程连接mongodb时,27017端口连接不上的解决办法
一.问题描述:centos 7 上安装mongogdb,然后通过另外一台电脑用pymongo连接mongodb时,报错:连接拒绝 解决过程: 1.修改mongo.conf文件 命令:sudo vi ...
- 远程连接mongodb时,27017端口连接不上的解决办法
一.背景描述: 我在linux RED7上安装了mongodb,并没有修改mongodb的配置文件.然后通过另外一台电脑用pymongo连接mongodb时,报错:timeout. ping IP ...
- MongoDB学习【四】—pymongo操作mongodb数据库
一.pymongodb的安装 Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接. pip安装 pip 是一个通用的 Python 包管理工具, ...
- 阿里云ECS服务器连接MongoDB
第一次接触MongoDB,第一次部署.将一些步骤整理出来,希望以后会用到,也希望能帮组到有这方面需求的小伙伴. 设备说明: 服务器为阿里云ECS服务器,网络为专有网络VPC,Mango为买的阿里云Ma ...
- 【mongodb 学习一】环境搭建之 mac 下连接 mongodb 的UI 客户端
记录下 mongodb 的学习 懒得自己达 mongodb 的服务器了 虽然一句命令就能搞定了 brew install mongodb 可是考虑到以后的应用还是放在网上的,就直接用现成的服务吧 下载 ...
随机推荐
- Android的Context Manager(服务管理器)源码剖析-android学习之旅(99)
Context Manager介绍 Context Manager对应的进程是servicemanager进程,它先于Service Server和服务客户端运行,进入接收IPC数据的待机状态,处理来 ...
- 简单了解AJAX
// ajax的俩个版本: var xmlhttp; if(window.xmlHttpRequest){ xmlhttp = new xmlHttpRequest(); }else{ xmlhttp ...
- 如何修改和查看tomcat内存大小
为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式: 一.使用 catalina.bat 等命令行方式运行的 tomcat 查看系统最大支 ...
- 读JVM相关的一些笔记
1.JVM的运行模式 vm一般有两种运行模式,client和server(JDK 7 后有第三种 Tiered server,后续会涉及到). client : 启动快,内存占用少,JIT编译器生成代 ...
- 使用Owin的WebApi,并分离Controllers
1.新建空白web项目 2.添加新建项=>OWIN Startup类(此时会自动下载owin,放在Packages里) 3.在Startup中输入 public void Configurati ...
- EMC Isilon(OneFS)误删文件数据恢复过程<存储数据恢复>
[科普Isilon的存储结构] Isilon内部使用的是分布式文件系统OneFS.在Isilon存储集群里面每个节点均为单一OneFS文件系统,所以Isilon在支持横向扩展的同时并不会影响数据正常使 ...
- Android 源码中的设计模式
最近看了一些android的源码,发现设计模式无处不在啊!感觉有点乱,于是决定要把设计模式好好梳理一下,于是有了这篇文章. 面向对象的六大原则 单一职责原则 所谓职责是指类变化的原因.如果一个类有多于 ...
- Sass快速入门学习笔记
1. 使用变量; sass让人们受益的一个重要特性就是它为css引入了变量.你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值.或者,对于仅使用过一 次的属 ...
- 同一台电脑上配置多个解压版tomcat方法(本例安装两个)
一.在环境变量中设置变量() CATALINA_HOME = tomcat路径一 CATALINA_BASE = tomcat路径一 CATALINA_HOME2 = tomcat路径二 CATALI ...
- swagger上传文件并支持jwt认证
背景 由于swagger不仅提供了自动实现接口文档的说明而且支持页面调试,告别postman等工具,无需开发人员手动写api文档,缩减开发成本得到大家广泛认可 但是由于swagger没有提供上传文件的 ...