本文整理汇总了Python中pymongo.topology.Topology.get_direct_or_primary方法的典型用法代码示例。如果您正苦于以下问题:Python Topology.get_direct_or_primary方法的具体用法?Python Topology.get_direct_or_primary怎么用?Python Topology.get_direct_or_primary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pymongo.topology.Topology
的用法示例。
在下文中一共展示了Topology.get_direct_or_primary方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: MongoClient
# 需要导入模块: from pymongo.topology import Topology [as 别名]
# 或者: from pymongo.topology.Topology import get_direct_or_primary [as 别名]
#.........这里部分代码省略.........
return
if index_name in self.__index_cache[database_name][collection_name]:
del self.__index_cache[database_name][collection_name][index_name]
def _server_property(self, attr_name, default=None):
"""An attribute of the current server's description.
Returns "default" while there is no current server, primary, or mongos.
Not threadsafe if used multiple times in a single method, since
the server may change. In such cases, store a local reference to a
ServerDescription first, then use its properties.
"""
try:
server = self._topology.select_server(
writable_server_selector, server_selection_timeout=0)
return getattr(server.description, attr_name)
except ConnectionFailure:
return default
@property
def address(self):
"""(host, port) of the current standalone, primary, or mongos, or None.
Accessing :attr:`address` raises :exc:`~.errors.InvalidOperation` if
the client is load-balancing among mongoses, since there is no single
address. Use :attr:`nodes` instead.
.. versionadded:: 3.0
"""
try:
return self._topology.get_direct_or_primary()
except InvalidOperation:
# Only one case where Topology throws InvalidOperation.
raise InvalidOperation(
'Cannot use "address" property when load balancing among'
' mongoses, use "nodes" instead.')
@property
def primary(self):
"""The (host, port) of the current primary of the replica set.
Returns ``None`` if this client is not connected to a replica set,
there is no primary, or this client was created without the
`replicaSet` option.
.. versionadded:: 3.0
MongoClient gained this property in version 3.0 when
MongoReplicaSetClient's functionality was merged in.
"""
return self._topology.get_primary()
@property
def secondaries(self):
"""The secondary members known to this client.
A sequence of (host, port) pairs. Empty if this client is not
connected to a replica set, there are no visible secondaries, or this
client was created without the `replicaSet` option.
.. versionadded:: 3.0
MongoClient gained this property in version 3.0 when
MongoReplicaSetClient's functionality was merged in.
"""