类:Mongo::Database::View

继承:
对象
  • 对象
显示全部
扩展方式:
可转发
包括:
可枚举、可重试
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb

Overview

表示数据库视图的类。

由于:

  • 2.0.0

实例属性摘要折叠

实例方法摘要折叠

Retryable 中包含的方法

#read_worker#select_server#write_worker

构造函数详情

#初始化(数据库)→查看

创建新的数据库视图。

例子:

创建新的数据库视图。

View::Index.new(database)

参数:

由于:

  • 2.0.0



127
128
129
130
131
132
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第127行

def 初始化(database)
  @database = database
  @batch_size =  nil
  @limit = nil
  @collection = @database[Database::命令]
end

实例属性详细信息

# batch_size整数(只读)

返回 batch_size 发送 listCollections 命令时结果批次的大小。

返回:

  • ( Integer )

    batch_size 发送 listCollections 命令时批量结果的大小。

由于:

  • 2.0.0



36
37
38
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第36行

def batch_size
  @batch_size
end

# collection =" Collection " (只读)

返回集合 命令集合。

返回:

由于:

  • 2.0.0



42
43
44
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第42行

def 集合
  @collection
end

#数据库对象(只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

由于:

  • 2.0.0



135
136
137
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第135行

def database
  @database
end

# limit整数(只读)

返回限制 发送命令时的限制。

返回:

  • ( Integer )

    limit 发送命令时的限制。

由于:

  • 2.0.0



39
40
41
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第39行

def limit
  @limit
end

实例方法详细信息

#aggregate (pipeline, options = {}) ⇒ Collection::View::Aggregation

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

在数据库视图上执行聚合。

例子:

聚合文档。

view.aggregate([
  { "$listLocalSessions" => {} }
])

参数:

  • 管道 ( Array<Hash> )

    聚合管道。

  • 选项 哈希 (默认为: {}

    聚合选项。

返回:

由于:

  • 2.10.0



151
152
153
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第151行

def 聚合(管道, 选项 = {})
  Collection::查看::聚合(Aggregation).new(self, 管道, 选项)
end

# collection_names (options = {}) ⇒ Array<String>

注意:

返回的集合名称集取决于完成请求的 MongoDB 服务器的版本。

获取数据库中所有非系统集合的名称。

参数:

  • 选项 哈希 (默认为: {}

    listCollections 命令的选项。

选项哈希 ( options ):

  • :batch_size 整数

    listCollections 命令返回结果的批处理大小。

  • :filter 哈希

    返回的集合的筛选器。

  • :authorized_collections ( true , false )

    一个标志,设置为 true 时,允许没有所需特权的用户在实施访问控制时运行命令。

  • :comment 对象

    用户提供的待附加到该命令的注释。

    请参阅mongodb.com/zh-cn/docs/manual/reference/command/listCollections / 了解更多信息和用法。

  • :session 会话

    要使用的会话。

返回:

  • ( Array<String> )

    所有非系统集合的名称。

由于:

  • 2.0.0



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第67行

def collection_names(选项 = {})
  @batch_size = 选项[:batch_size]
  会话 = 客户端.发送(:get_session, 选项)
  cursor = read_with_retry_cursor(会话, ServerSelector.主节点, self) do |server|
    send_initial_query(server, 会话, 选项.合并(merge)(name_only: true))
  end
  cursor.map do |信息|
    if cursor.Initial_result.connection_description.功能.list_collections_enabled?
      信息[' name ']
    else
      (信息[' name '] &&
        信息[' name '].(" #{ @database . name } . ", ' '))
    end
  end.拒绝 do |名称|
    名称.start_with?('系统。 ') || 名称.包括?('$')
  end
end

# list_collections (options = {}) ⇒ Array<Hash>

注意:

返回的集合集以及每个集合的信息哈希模式取决于完成请求的 MongoDB 服务器版本。

获取有关数据库中所有集合的信息。

例子:

获取有关每个集合的信息。

database.list_collections

参数:

  • 选项 哈希 (默认为: {}

选项哈希 ( options ):

  • :filter 哈希

    返回的集合的筛选器。

  • :name_only ( true , false )

    指示命令是应仅返回集合/视图名称和类型,还是同时返回名称和其他信息

  • :authorized_collections ( true , false )

    一个标志,当设立为 true 并与 nameOnly: true 一起使用时,允许没有所需权限的用户在实施访问权限控制时运行命令

    请参阅mongodb.com/zh-cn/docs/manual/reference/command/listCollections / 了解更多信息和用法。

  • :session 会话

    要使用的会话。

  • :deserialize_as_bson 布尔值

    是否尽可能使用BSON types而不是原生Ruby类型来反序列化此消息。

返回:

  • ( Array<Hash> )

    数据库中每个集合的信息。

由于:

  • 2.0.5



114
115
116
117
# File 'build/Ruby-driver-v 2.19 /lib/mongo/database/view.rb', 第114行

def list_collections(选项 = {})
  会话 = 客户端.发送(:get_session, 选项)
  collections_info(会话, ServerSelector.主节点, 选项)
end