热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Python】pymongo链接mongo

pymongo模块链接mongo1.链接单实例mongo#-*-coding:utf-8-*-importdatetimeimport

pymongo模块链接mongo

1.链接单实例mongo

  1. # - * - coding : utf - 8 - * -

  2. import datetime

  3. import pymongo

  4. import time


  5. client = pymongo . MongoClient ( "127.0.0.1" , 27017 )

  6. db = client . get_database ( "collection" )

  7. db . authenticate ( 'collection' , '78hRdJEnJcHRb4qA' )

  8. #print ( db . collection_names ( ) )

  9. redefine_collection = db . get_collection ( 'redefine-collection' )

alluser=[]

  1. demos = redefine_collection . find ( { 'event_id' : '0109001' , 'event_info.url' : { '$exists' : 'true' } , "ctime" : { "$gte" : 1525881600000}} , no_cursor_timeout = True )

  2. for item in demos :

  3.      if len ( item [ &#39;event_info&#39; ] [ &#39;url&#39; ] . replace ( r &#39;/&#39; , &#39;&#39; ) . split ( &#39;.&#39; ) [ - 1 ] ) < = 5 :

  4.         alluser . append ( item [ &#39;event_info&#39; ] [ &#39;url&#39; ] . replace ( r &#39;/&#39; , &#39;&#39; ) . split ( &#39;.&#39; ) [ - 1 ] )

  5. demos . close ( )

  6. print len ( alluser )




2.连接复制集

  1. from pymongo import MongoClient

  2. conn = MongoClient ( [ &#39;192.168.3.11:27017&#39; , &#39;192.168.3.12:27017&#39; , &#39;192.168.3.13:27017&#39; ],replicaset=&#39;shard1&#39; )

  3. from pymongo import ReadPreference

  4. db = conn . get_database ( &#39;hnrtest&#39; , read_preference = ReadPreference . SECONDARY_PREFERRED )


3.mongo常见操作

# #####read client
# client = pymongo.MongoReplicaSetClient([&#39;172.31.46.25:27017,172.31.43.36:27017,172.31.40.242:27017&#39;],replicaset=&#39;shard1&#39;)
# db = client.get_database("collection")
# db.authenticate(&#39;collection&#39;, &#39;78hRdJEnJcHRb4qA&#39;)
#
# print db.client.read_preference
# print db.client.primary
# print db.client.secondaries
# print db.client.arbiters
# print db.command(&#39;ismaster&#39;)
#####read client
client = pymongo.MongoClient([&#39;172.31.32.223:20000&#39;])
db = client.get_database("admin")
db.authenticate(&#39;admin&#39;, &#39;ggxP6tPI971K3W0r&#39;)
# print db.client.read_preference
# print db.client.primary
# print db.client.secondaries
# print db.client.arbiters
# print db.client.is_primary
# print db.command(&#39;ismaster&#39;)
# print db.command(&#39;currentOp&#39;)
# print db.command(&#39;replSetGetStatus&#39;)
# print db.list_collection_names()
statement=client.collection.get_collection(&#39;statement&#39;)             ###获取对应db下的对应集合
print statement.count()
# client.collection.add_user(&#39;newTestUser&#39;, &#39;Test123&#39;, roles=[{&#39;role&#39;:&#39;readWrite&#39;,&#39;db&#39;:&#39;collection&#39;}])  ####添加用户
# client.collection.remove_user(&#39;newTestUser&#39;)  ####删除用户
db2 = client.get_database("collection")
db2.add_user(&#39;newTestUser&#39;, &#39;Test123&#39;, roles=[{&#39;role&#39;:&#39;readWrite&#39;,&#39;db&#39;:&#39;collection&#39;}])  ###添加用户
print db.current_op()
# options = {&#39;lock&#39;: True}
# db.client.fsync(**options)
# print db.client.is_locked
# ####
# print db.command(&#39;fsyncUnlock&#39;)
# print db.client.is_locked
  1. 参考:http : / / blog . 51cto . com/hnr520/1874506




推荐阅读
  • MySQL日志分析在应急响应中的应用与优化策略
    在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ... [详细]
  • voc生成xml 代码
    目录 lxmlwindows安装 读取示例 可视化 生成示例 上面是代码,下面有调用示例 api调用代码,其实只有几行:这个生成代码也很简 ... [详细]
  • 字符串对比竟也暗藏玄机,你是否认同?
    在探讨字符串对比技术时,本文通过两个具体案例深入剖析了其背后的复杂性与技巧。首先,案例一部分详细介绍了需求背景、分析过程及两种不同的代码实现方法,并进行了总结。接着,案例二同样从需求描述出发,逐步解析问题并提供解决方案,旨在揭示字符串处理中容易被忽视的关键细节和技术挑战。 ... [详细]
  • 通过采用JSON数据格式,能够高效且精确地获取用户的实时地理位置信息,为各类位置服务应用提供可靠的数据支持。该方法不仅简化了数据交换流程,还提高了地理信息处理的准确性和效率,适用于移动应用、导航系统及物联网设备等多种场景。 ... [详细]
  • MySQL 错误:检测到死锁,在尝试获取锁时;建议重启事务(Node.js 环境)
    在 Node.js 环境中,MySQL 数据库操作时遇到了“检测到死锁,在尝试获取锁时;建议重启事务”的错误。本文将探讨该错误的原因,并提供有效的解决策略,包括事务管理优化和锁机制的理解。 ... [详细]
  • 在Hive中合理配置Map和Reduce任务的数量对于优化不同场景下的性能至关重要。本文探讨了如何控制Hive任务中的Map数量,分析了当输入数据超过128MB时是否会自动拆分,以及Map数量是否越多越好的问题。通过实际案例和实验数据,本文提供了具体的配置建议,帮助用户在不同场景下实现最佳性能。 ... [详细]
  • Go语言实现Redis客户端与服务器的交互机制深入解析
    在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ... [详细]
  • MongoDB Aggregates.group() 方法详解与编程实例 ... [详细]
  • 第五章详细探讨了 Red Hat Enterprise Linux 6 中的 Ext3 文件系统。5.1 节介绍了如何创建 Ext3 文件系统,包括必要的命令和步骤,以及在实际操作中可能遇到的问题和解决方案。此外,还涵盖了 Ext3 文件系统的性能优化和维护技巧,为用户提供全面的操作指南。 ... [详细]
  • 本文介绍了一种专为清洁工人设计的自定义文本烟花效果。通过该功能,用户可以输入特定的感谢或祝福语句,系统将生成绚丽的烟花动画,以表达对清洁工人的敬意和感激之情。该特效不仅美观,还能增强用户的互动体验,提升公共场合的氛围。 ... [详细]
  • 在一系列的学习与实践后,Jsoup学习笔记系列即将进入尾声。本文详细介绍了如何使用Jsoup实现从Saz文件到Csv格式的数据解析功能。未来,计划将此功能进一步封装,开发成具有用户界面的独立应用程序,以增强其实用性和便捷性。对于希望深入掌握Jsoup技术的开发者,本文提供了宝贵的参考和实践案例。 ... [详细]
  • Spring框架下发送嵌入图片邮件时遇到的技术挑战与解决方案
    在Spring框架中发送嵌入图片的HTML格式邮件时,常遇到技术挑战。一种有效的解决方案是在邮件内容中直接使用``标签来引用图片。此外,还可以通过MimeMessageHelper类的addInline方法将图片作为内联资源添加到邮件中,确保图片能够正确显示。这种方法不仅提高了邮件的可读性,还增强了用户体验。 ... [详细]
  • 本文深入探讨了Android事件分发机制的源代码,重点分析了DecorView作为Activity根布局的角色及其在事件传递中的作用。同时,详细解析了PhoneWindow在Activity窗口管理中的关键功能,以及它如何与DecorView协同工作,确保用户交互事件的高效处理。 ... [详细]
  • 程序连接MySQL数据库的多种方法详解 ... [详细]
  • Python初学者入门指南:从基础到实践的全面学习路径本文为Python初学者提供了一条从基础到实践的全面学习路径。特别介绍了Python字典(Dictionary)中的`items()`方法,该方法用于返回字典中所有键值对的视图对象,便于在循环和其他操作中使用。通过实例讲解,帮助读者更好地理解和应用这一重要功能。 ... [详细]
author-avatar
从妖妖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有