zoukankan      html  css  js  c++  java
  • python连接Mongo数据库

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

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

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

    2.通过URI连接

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

    注意:

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

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

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

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

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

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

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

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

    注意:

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

  • 相关阅读:
    使用pymysql模块进行封装,自动化不可或缺的数据库校验
    使用paramiko模块进行封装,远程操作linux主机
    提高开发效率的 Eclipse 实用操作
    遍历Map的四种方法
    key可以重复的Map集合:IdentityHashMap
    Java根据条件删除Map中元素
    用POI读取具有任意合并单元的excel数据
    【转载】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
    面向对象的基本原则
    forward和redirect的区别
  • 原文地址:https://www.cnblogs.com/mengyu/p/7725396.html
Copyright © 2011-2022 走看看