CatapultServer  v0.5.0.1 (Elephant)
BulkWriteResult.h
Go to the documentation of this file.
1 
21 #pragma once
22 #include <mongocxx/result/bulk_write.hpp>
23 
24 namespace catapult { namespace mongo {
25 
27  struct BulkWriteResult {
28  public:
31  : NumInserted(0)
32  , NumMatched(0)
33  , NumModified(0)
34  , NumDeleted(0)
35  , NumUpserted(0)
36  {}
37 
39  explicit BulkWriteResult(const mongocxx::result::bulk_write& result)
40  : NumInserted(result.inserted_count())
41  , NumMatched(result.matched_count())
42  , NumModified(result.modified_count())
43  , NumDeleted(result.deleted_count())
44  , NumUpserted(result.upserted_count())
45  {}
46 
47  public:
49  static BulkWriteResult Aggregate(const std::vector<BulkWriteResult>& results) {
50  BulkWriteResult aggregate;
51  for (const auto& result : results) {
52  aggregate.NumInserted += result.NumInserted;
53  aggregate.NumMatched += result.NumMatched;
54  aggregate.NumModified += result.NumModified;
55  aggregate.NumDeleted += result.NumDeleted;
56  aggregate.NumUpserted += result.NumUpserted;
57  }
58 
59  return aggregate;
60  }
61 
62  public:
64  int32_t NumInserted;
65 
67  int32_t NumMatched;
68 
70  int32_t NumModified;
71 
73  int32_t NumDeleted;
74 
76  int32_t NumUpserted;
77  };
78 }}
catapult::mongo::BulkWriteResult::BulkWriteResult
BulkWriteResult()
Creates a default bulk write result.
Definition: BulkWriteResult.h:30
catapult::mongo::BulkWriteResult::NumInserted
int32_t NumInserted
Number of documents that were inserted.
Definition: BulkWriteResult.h:64
catapult::mongo::BulkWriteResult::NumUpserted
int32_t NumUpserted
Number of documents that were inserted because no document matched.
Definition: BulkWriteResult.h:76
catapult::mongo::BulkWriteResult::NumDeleted
int32_t NumDeleted
Number of existing documents that were deleted.
Definition: BulkWriteResult.h:73
catapult::mongo::BulkWriteResult
Result of a bulk write operation to the database.
Definition: BulkWriteResult.h:27
catapult::mongo::BulkWriteResult::Aggregate
static BulkWriteResult Aggregate(const std::vector< BulkWriteResult > &results)
Aggregates all bulk write results in results into a single result.
Definition: BulkWriteResult.h:49
catapult::mongo::BulkWriteResult::NumMatched
int32_t NumMatched
Number of documents that matched existing documents.
Definition: BulkWriteResult.h:67
catapult::mongo::BulkWriteResult::BulkWriteResult
BulkWriteResult(const mongocxx::result::bulk_write &result)
Creates a bulk result from a mongo result.
Definition: BulkWriteResult.h:39
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::mongo::BulkWriteResult::NumModified
int32_t NumModified
Number of existing documents that were modified.
Definition: BulkWriteResult.h:70