类:Mongo::Operation::Insert::BulkResult
- 包括:
- 可聚合
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/operation/insert/bulk_result.rb
Overview
定义作为批量写入的一部分发送时插入结果的自定义行为。
常量摘要
从Result继承的常量
Result::CURSOR 、 Result::CURSOR_ID 、 Result::FIRST_BATCH 、 Result::N 、 Result::NAMESPACE 、 Result::NEXT_BATCH 、 Result::OK 、 Result::RESULT
实例属性摘要折叠
-
# Insert_Ids ⇒ 对象
只读
获取插入文档的 ID。
从Result继承的属性
#connection_description 、 #connection_global_id 、 #replies
实例方法摘要折叠
-
#initialize (replies, connection_description, connection_global_id, ids) ⇒ BulkResult
构造函数
private
初始化新结果。
-
# Insert_id ⇒ 对象
获取插入的文档的 ID。
-
# n_inserted ⇒ 整数
获取插入的文档数。
从Result继承的方法
#acknowledged? 、#cluster_time、 # cursor_id、#documents、# each 、# error 、 # has_cursor_id ? 、 #inspect 、 #labels 、# namespace 、# ok? 、 #operation_time 、 #reply 、 #returned_count 、 #snapshot_timestamp 、 #successful? 、 #topology_version 、 #validate! , #write_concern_error? , #liter_count
构造函数详情
#initialize (replies, connection_description, connection_global_id, ids) ⇒ BulkResult
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
初始化新结果。
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/operation/insert/bulk_result.rb', 第51行 def 初始化(回复, connection_description, connection_global_id, id) @replies = [*回复] if 回复 @connection_description = connection_description @connection_global_id = connection_global_id if 回复 && 回复.first && (doc = 回复.first.文档.first) if errors = doc[' writeErrors '] # 可能插入了一些文档 Bad_indices = {} errors.map do |错误| Bad_indices[错误[' index ']] = true end @inserted_ids = [] id.each_with_index do |id, 索引(index)| if Bad_indices[索引(index)].nil? @inserted_ids << id end end # 不知道是否认可? 如有必要,请在此处进行检查, # 据我所知,这并没有什么坏处 elsif 已确认? && 成功? # 我们已收到回复,且回复成功后 #reply 没有 writeErrors - 一切都已插入 @inserted_ids = id else # 我们已收到回复,但回复未成功,并且 # 它没有 writeErrors — 没有插入任何内容。 # 如果插入了某些内容,则回复将不成功 # 但会有 writeErrors @inserted_ids = [] end else # 我认为我们不应该走到这一步,但谁知道呢, # 使其表现得像旧驱动程序一样 @inserted_ids = id end end |
实例属性详细信息
# Insert_Ids ⇒对象(只读)
获取插入文档的 ID。
33 34 35 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/operation/insert/bulk_result.rb', 第33行 def Inserted_Ids @inserted_ids end |
实例方法详细信息
# Insert_id ⇒对象
获取插入的文档的 ID。
110 111 112 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/operation/insert/bulk_result.rb', 第110行 def Inserted_id Inserted_Ids.first end |
# n_inserted ⇒整数
获取插入的文档数。
97 98 99 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/operation/insert/bulk_result.rb', 第97行 def n_inserted Write_Count end |