官方文档:http://api.mongodb.com/python/current/index.html

MongoReplicaSetClient:http://api.mongodb.com/python/current/api/pymongo/mongo_replica_set_client.html

mongo文档:https://docs.mongodb.com/manual/reference/command/

pymongo可以使用mongo command方法调用mongo方法

from pymongo import MongoClient
c = MongoClient("10.207.0.128:4000")
admin = c["admin"]
#获取实例状态
admin.command('serverStatus')
#副本集角色降级
admin.command("replSetStepDown",10) from pymongo import MongoReplicaSetClient
#连接副本集
r= MongoReplicaSetClient(host = , port = , replicaSet = )
connection_admin=r.admin
connection_admin.authenticate('name','#')
#获取副本集主节点从节点
r.primary
r.secondaries

获得库对象和集合对象分别有两种方法:

db = client.test_database
# 或者
db = client['test-database']
得到一个数据集合: collection = db.test_collection
# 或者
collection = db['test-collection']

连接认证 auth failed解决方法

注意MongoDB3.0版本以后采用的是'SCRAM-SHA-1'认证方式,pymongo需要更新2.8以上版本

http://api.mongodb.com/python/current/examples/authentication.html

mongo副本集rs.status()中

state:https://docs.mongodb.com/manual/reference/replica-states/

其他:https://docs.mongodb.com/manual/reference/command/replSetGetStatus/#dbcmd.replSetGetStatus

pymongo链接副本集读写分离和负载均衡的使用:

http://api.mongodb.com/python/current/examples/high_availability.html

from pymongo import MongoClient,ReadPreference
client = MongoClient(['host1:port','host2:port','host3:port'], replicaset='replset_name', readPreference='secondaryPreferred')
db_name = client.get_database('db_name',read_preference=ReadPreference.NEAREST)
db_name.authenticate('username','passwd',mechanism='SCRAM-SHA-1')

查询MongoDB有哪些库,库大小:

https://docs.mongodb.com/manual/reference/command/listDatabases/#dbcmd.listDatabases

admin.command("listDatabases",1)  

command是库级别的,库、集合、副本集等操作要按照语法:

db_object.command({'command-name':'command-value'})
例如
db_test.command({ 'collStats' : 'collection-test})

【Python】pymongo使用的更多相关文章

  1. Python Pymongo中Connection()与MongoClient()差异

    在git找了几个blog的源码,在学习的过程中,发现有人使用Connection(),有人却在使用MongoClient(),那么到底两者有什么差别呢? 且看分析如下: db = Connection ...

  2. Python: Windows 7 64位 安装、使用 pymongo 3.2

    官网tutorial:  http://api.mongodb.com/python/current/tutorial.html 本教程将要告诉你如何使用pymongo模块来操作MongoDB数据库. ...

  3. Python 使用pymongo操作mongodb库

    Python 使用pymongo操作mongodb库 2016-12-31 21:55 1115人阅读 评论(0) 收藏 举报  分类: - - - Python(10)  版权声明:本文为博主原创文 ...

  4. (转)Python实例手册

    原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...

  5. Python mongoDB 的简单操作

    #!/usr/bin/env python # coding:utf-8 # Filename:mongodb.py from pymongo import MongoClient,ASCENDING ...

  6. pymongo 学习总结

    1.简介 MongoDB是一种强大.灵活.追求性能.易扩展的数据存储方式.是面向文档的数据库,不是关系型数据库,是NoSQL(not only SQL)的一种.所谓的面向文档,就是将原来关系型数据库中 ...

  7. 转载 python实例手册

    python实例手册 #encoding:utf8# 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请 ...

  8. 【转载】python实例手册

    今天写爬虫的时候遇到了问题,在网上不停地查找资料,居然碰到两篇好文章: 1.python实例手册   作者:没头脑的土豆 另一篇在这:shell实例手册 python实例手册 #encoding:ut ...

  9. Python连接MongoDB操作

    1.安装PyMongo 注意:请勿安装“bson”软件包. PyMongo配有自己的bson包; 执行“pip install bson”或“easy_install bson”则会安装与PyMong ...

  10. Python实例手册

    在电脑中突然发现一个这么好的资料,雪松大神制作,不敢独享,特与大家共享.连他的广告也一并复制了吧! python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 ...

随机推荐

  1. relative

    进行relative定位后的元素,不会影响原本的文本流. 下图左列的第二张图是进行了margin-top取负值,右列第二张图进行了relative定位     

  2. Codeforces Round #361 Jul.6th B题 ☺译

    最近迈克忙着考前复习,他希望通过出门浮躁来冷静一下.迈克所在的城市包含N个可以浮躁的地方,分别编号为1..N.通常迈克在家也很浮躁,所以说他家属于可以浮躁的地方并且编号为1.迈克从家出发,去一些可以浮 ...

  3. UIView详解

    MVC架构模式   MVC(Model-View-Controller)是实现数据和显示数据的视图分离的架构模式(有一定规模的应用都应该实现数据和显示的分离).其中,M代表模型,就是程序中使用的数据和 ...

  4. Makefile简易教程

    本文部分内容引用: 中文维基百科. 一个简单的Makefile教程. Makefile简介 在软件开发中,make通常被视为一种软件构建工具.该工具主要经由读取一种名为"makefile&q ...

  5. 如何搭建 node,react 开发环境

    项目相关内容:Sublime + Node + React --注意:在 windows 操作系统中,如果把 node 安装在系统盘(一般是C盘),会导致 node 没有操作文件的权限的问题,如无法新 ...

  6. 用Join子句进行分组联接

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. Python——面向对象

    一.创建类 语法格式: class 类名: pass 创建方法: 1 构造方法 class Person: def __init__(self, name,age): #构造方法,构造方法的特性, 类 ...

  8. LINQ、Lambda 的转换

    var d = from d1 in pDT1.AsEnumerable() from d2 in pDT2.AsEnumerable() where d1.Field<string>(& ...

  9. centos虚拟机网络配置

    修改IP vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes BOOTPROTO=dhcp service network restart ...

  10. 11、java中的模板方法设计模式

    /* 需求:获取一段程序运行的时间. 原理:获取程序开始和结束的时间并相减即可. 获取时间:System.currentTimeMillis(); 当代码完成优化后,就可以解决这类问题. 这种方式,模 ...