python连接Mongo数据库主要采用pymongo连接,一般情况分为两种连接方式,一种通过指定端口和地址直接连接,另一种通过uri的格式连接

1.通过指定端口和地址连接Mongo

  1. conn = MongoClient("47.93.194.180", 27017)
  2. db = conn.coder #连接到coder数据库
  3. table = db.users #连接到users集合
  4. print(table.count()) #统计集合中的数据

2.通过URI连接

  1. from pymongo import MongoClient
  2.  
  3. mango_uri = 'mongodb://%s:%s' % ("47.93.194.180", 27017)
  4. conn = MongoClient(mango_uri) # 创建链接
  5. db = conn.coder # 连接coder数据库
  6. table = db.users # 选择users集合
  7. print(table.count()) # 统计集合数据行数

注意:

  目前的连接模式属于Mongo数据库没有设置密码,一般Mongo均会设置密码,因为不设置密码容易被黑,如果设置密码时,通过uri连接需要对密码进行编码,如果不进行编码会提示“pymongo.errors.InvalidURI: ':' or '@' characters in a username or password must be escaped according to RFC 2396”;

Mongo 密码是针对数据库而言,所以设置密码后我们需要连接数据库直接认证连接方式如下

  1. from urllib import parse
  2. from pymongo import MongoClient
  3.  
  4. passwd = "Expressin@0618"
  5. passwd = parse.quote(passwd) # 对密码先进行编码
  6. mango_uri = 'mongodb://%s:%s@%s:%s/%s' % ("sa", passwd, "47.93.194.180", "", "mapdb") # 链接时需要指定数据库
  7. conn = MongoClient(mango_uri) # 创建链接
  8. db = conn.mapdb # 连接coder数据库
  9. table = db.bike # 选择users集合
  10. print(table.count()) # 统计集合数据行数

pymongo 连接数据库和连接集合也存在两种方法

1.连接数据库和集合,通过"."直接引用数据库和集合

  1. db = conn.mapdb # 连接coder数据库
  2. table = db.bike # 选择users集合

2.连接数据库和集合通过"[name]"引用数据库和集合

  1. db = conn["mapdb"] # 连接coder数据库
  2. table = db["bike"] # 选择users集合

注意:

  第一种连接方式无法将数据库和集合的名字设置为变量,但是后者可以设置;

python连接Mongo数据库的更多相关文章

  1. python 连接Mysql数据库

    1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...

  2. 【Python实战】使用Python连接Teradata数据库???未完成

    1.安装Python 方法详见:[Python 05]Python开发环境搭建 2.安装Teradata客户端ODBC驱动 安装包地址:TTU下载地址 (1)安装TeraGSS和tdicu(ODBC依 ...

  3. Python连接MySQL数据库的多种方式

    上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...

  4. Python 连接 Oracle数据库

    1.环境设置 [root@oracle ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@oracle ~]# python - ...

  5. pymysql模块使用---Python连接MySQL数据库

    pymysql模块使用---Python连接MySQL数据库 浏览目录 pymysql介绍 连接数据库 execute( ) 之 sql 注入 增删改查操作 进阶用法 一.pymysql介绍 1.介绍 ...

  6. 孤荷凌寒自学python第五十一天初次尝试使用python连接Firebase数据库

    孤荷凌寒自学python第五十一天初次尝试使用python连接Firebase数据库 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库服 ...

  7. Python 连接Oracle数据库

    连接:python操作oracle数据库  python——连接Oracle数据库 python模块:cx_Oracle, DBUtil 大概步骤: 1. 下载模块 cx_Oracle (注意版本) ...

  8. python学习--python 连接SQLServer数据库(两种方法)

    1. python 学习.安装教程参照: http://www.runoob.com/python/python-tutorial.html 2. 集成开发环境 JetBrains PyCharm C ...

  9. Robomongo 0.9.0 连接mongo数据库时,提示连接失败 的解决方案

    Robomongo 0.9.0 连接mongo数据库时,提示连接失败.(IP和端口号确定是对的) 基本注意点: 1.mongodb服务打开,打开时,指定端口号,默认为27017,使用默认值,则不用指定 ...

随机推荐

  1. <Spark><Programming><RDDs>

    Introduction to Core Spark Concepts driver program: 在集群上启动一系列的并行操作 包含应用的main函数,定义集群上的分布式数据集,操作数据集 通过 ...

  2. myql update from 语句

    (6)UPDATE 语句与 SELECT 语句中的 TOP 子句一起使用对来自表 authors 的前十个作者的 state 列进行更新 UPDATE authors SET state = 'ZZ' ...

  3. mysql创建用户并授予权限

    MySQL创建数据库与创建用户以及授权   1.create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创 ...

  4. ubantu安装python3虚拟环境

    Ubuntu安装python3虚拟环境 安装虚拟环境 步骤: 打开Linux终端(快捷键Ctrl+Alt+T),输入命令: sudo apt install python-virtualenv sud ...

  5. Linux并发执行很简单,这么干就对了

    嗯,就像标题说的那么简单而已 &的并发功能 time for i in `grep server /etc/hosts | awk '{print $1}'`; do (ssh $i &quo ...

  6. react-navigation 使用详解(转载)

    上篇博客和大家分享了关于React Native jsBundle预加载,界面启动优化的内容,详情可点击: 基于最新版本React Native实现JsBundle预加载,界面秒开优化 一.开源库介绍 ...

  7. 【转】如何在win10(64位系统)上安装apache服务器

    如何在win10(64位系统)上安装apache服务器 今天装了Apache服务器,下面是我总结的方法: 一,准备软件 1.64位的apache版本 传送门:http://www.apacheloun ...

  8. maven工程的多环境配置方案(profile)

    前言: 写一篇水文来打发下时间吧^_^. 在应用开发中, 总会遇到开发/测试/预发布/线上环境, 其环境不同, 其具体的配置项也有所不同, 因此如何快速的切换各个环境配置, 进行打包配置, 成了一个小 ...

  9. Linux sort命令详解

    linux之sort用法 sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容, ...

  10. JS中的变量与常量

    变量 1.创建变量 1.先声明,后赋值 使用var关键字进行变量的声明 使用=进行变量的赋值 自定义变量名 2.声明的同时赋值 var age = 20: 2.命名规范 1.由数字,字母,下划线和$组 ...