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集合

    注意:

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

  • 相关阅读:
    Linux下利用rsync实现多服务器文件同步
    SVN使用import导入新数据到版本库
    SVN协同开发时服务端与线上APACHE测试环境网站同步记录 转
    [转]rsync的配置与应用
    Matrix 旋转mc 注册点在mc的左上角
    多边形面积计算
    【神奇的代码】
    【碰撞回弹】
    三角函数
    判断点是否在线段或直线上
  • 原文地址:https://www.cnblogs.com/mengyu/p/7725396.html
Copyright © 2011-2022 走看看