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 可是考虑到以后的应用还是放在网上的,就直接用现成的服务吧 下载 ...
随机推荐
- Java语言实现二分法
二分法是一个简单,高效,并广泛应用的查找方法 import java.util.arrays; public class BinarySearch { public static int rank(i ...
- Mina源码阅读笔记(四)—Mina的连接IoConnector2
接着Mina源码阅读笔记(四)-Mina的连接IoConnector1,,我们继续: AbstractIoAcceptor: 001 package org.apache.mina.core.rewr ...
- 属性动画基础之ValueAnimator
概述 属性动画是谷歌在android3.0(API level 11)时候给我们带来了属性动画,真正意义上带来了"动画",以前的帧动画也就4中效果的组合(旋转.淡入淡出.放大缩小. ...
- C# 设置Word文档背景(纯色/渐变/图片背景)
Word是我们日常生活.学习和工作中必不可少的文档处理工具.精致美观的文档能给人带来阅读时视觉上的美感.在本篇文章中,将介绍如何使用组件Free Spire.Doc for .NET(社区版)给Wor ...
- javaScript(1)---概述
javaScript(1)---概述 学习要点: 1.什么是JavaScript 2.JavaScript特点 3.JavaScript历史 4.JavaScript核心 JavaScript诞生于1 ...
- CentOS6.5 64位下安装部署Ansible
这里使用的软件包为一下版本 Python-2.7.12.tgz pip-9.0.1.tar.gz ansible-2.2.0.0.tar.gz 其他依赖包使用pip方式安装 方便说明做以下设定: 控制 ...
- Day2_元组_字典_集合_字符编码_文件处理
元组: 作用:存多个值,元组不可变,主要用来读 age=(11,22,33,44,55) print(age[2]) #取出元组内的值 print(age[1:4]) #取出元组内的某些值 print ...
- Linux下编译安装BOOST
linux平台下要编译安装除gcc和gcc-c++之外,还需要两个开发库:bzip2-devel 和python-devel,因此在安装前应该先保证这两个库已经安装: #yum install gcc ...
- 自动生成MyEclipse 安装破解码
新建一个class 文件,Debug 模式运行一个,输入任意值 ,回车得到破解安装码 代码文件如下: import java.io.*; public class MyEclipseGen { pri ...
- 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务架构.近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spr ...