Storage Engine API
mongo::CollectionImpl Class Referencefinal

#include <collection_impl.h>

Inheritance diagram for mongo::CollectionImpl:
mongo::Collection::Impl mongo::CappedCallback mongo::UpdateNotifier mongo::CappedCallback mongo::UpdateNotifier

Public Types

using ValidationAction = Collection::ValidationAction
 
using ValidationLevel = Collection::ValidationLevel
 

Public Member Functions

 CollectionImpl (Collection *_this, OperationContext *opCtx, StringData fullNS, OptionalCollectionUUID uuid, CollectionCatalogEntry *details, RecordStore *recordStore, DatabaseCatalogEntry *dbce)
 
 ~CollectionImpl ()
 
void init (OperationContext *opCtx) final
 
bool ok () const final
 
CollectionCatalogEntrygetCatalogEntry () final
 
const CollectionCatalogEntrygetCatalogEntry () const final
 
CollectionInfoCacheinfoCache () final
 
const CollectionInfoCacheinfoCache () const final
 
const NamespaceString & ns () const final
 
OptionalCollectionUUID uuid () const
 
void refreshUUID (OperationContext *opCtx) final
 
const IndexCataloggetIndexCatalog () const final
 
IndexCataloggetIndexCatalog () final
 
const RecordStoregetRecordStore () const final
 
RecordStoregetRecordStore () final
 
CursorManager * getCursorManager () const final
 
bool requiresIdIndex () const final
 
Snapshotted< BSONObj > docFor (OperationContext *opCtx, const RecordId &loc) const final
 
bool findDoc (OperationContext *opCtx, const RecordId &loc, Snapshotted< BSONObj > *out) const final
 
std::unique_ptr< SeekableRecordCursorgetCursor (OperationContext *opCtx, bool forward=true) const final
 
std::vector< std::unique_ptr< RecordCursor > > getManyCursors (OperationContext *opCtx) const final
 Returns many cursors that partition the Collection into many disjoint sets. More...
 
void deleteDocument (OperationContext *opCtx, StmtId stmtId, const RecordId &loc, OpDebug *opDebug, bool fromMigrate=false, bool noWarn=false, Collection::StoreDeletedDoc storeDeletedDoc=Collection::StoreDeletedDoc::Off) final
 Deletes the document with the given RecordId from the collection. More...
 
Status insertDocuments (OperationContext *opCtx, std::vector< InsertStatement >::const_iterator begin, std::vector< InsertStatement >::const_iterator end, OpDebug *opDebug, bool enforceQuota, bool fromMigrate=false) final
 
Status insertDocument (OperationContext *opCtx, const InsertStatement &doc, OpDebug *opDebug, bool enforceQuota, bool fromMigrate=false) final
 this does NOT modify the doc before inserting i.e. More...
 
Status insertDocumentsForOplog (OperationContext *opCtx, const DocWriter *const *docs, Timestamp *timestamps, size_t nDocs) final
 Callers must ensure no document validation is performed for this collection when calling this method. More...
 
Status insertDocument (OperationContext *opCtx, const BSONObj &doc, const std::vector< MultiIndexBlock *> &indexBlocks, bool enforceQuota) final
 Inserts a document into the record store and adds it to the MultiIndexBlocks passed in. More...
 
RecordId updateDocument (OperationContext *opCtx, const RecordId &oldLocation, const Snapshotted< BSONObj > &oldDoc, const BSONObj &newDoc, bool enforceQuota, bool indexesAffected, OpDebug *opDebug, OplogUpdateEntryArgs *args) final
 Updates the document @ oldLocation with newDoc. More...
 
bool updateWithDamagesSupported () const final
 
StatusWith< RecordDataupdateDocumentWithDamages (OperationContext *opCtx, const RecordId &loc, const Snapshotted< RecordData > &oldRec, const char *damageSource, const mutablebson::DamageVector &damages, OplogUpdateEntryArgs *args) final
 Not allowed to modify indexes. More...
 
StatusWith< CompactStatscompact (OperationContext *opCtx, const CompactOptions *options) final
 
Status truncate (OperationContext *opCtx) final
 removes all documents as fast as possible indexes before and after will be the same as will other characteristics More...
 
Status validate (OperationContext *opCtx, ValidateCmdLevel level, bool background, std::unique_ptr< Lock::CollectionLock > collLk, ValidateResults *results, BSONObjBuilder *output) final
 
Status touch (OperationContext *opCtx, bool touchData, bool touchIndexes, BSONObjBuilder *output) const final
 forces data into cache More...
 
void cappedTruncateAfter (OperationContext *opCtx, RecordId end, bool inclusive) final
 Truncate documents newer than the document at 'end' from the capped collection. More...
 
StatusWithMatchExpression parseValidator (OperationContext *opCtx, const BSONObj &validator, MatchExpressionParser::AllowedFeatureSet allowedFeatures, boost::optional< ServerGlobalParams::FeatureCompatibility::Version > maxFeatureCompatibilityVersion=boost::none) const final
 Returns a non-ok Status if validator is not legal for this collection. More...
 
Status setValidator (OperationContext *opCtx, BSONObj validator) final
 Sets the validator for this collection. More...
 
Status setValidationLevel (OperationContext *opCtx, StringData newLevel) final
 
Status setValidationAction (OperationContext *opCtx, StringData newAction) final
 
StringData getValidationLevel () const final
 
StringData getValidationAction () const final
 
Status updateValidator (OperationContext *opCtx, BSONObj newValidator, StringData newLevel, StringData newAction) final
 Sets the validator to exactly what's provided. More...
 
bool isCapped () const final
 
std::shared_ptr< CappedInsertNotifiergetCappedInsertNotifier () const final
 Get a pointer to a capped insert notifier object. More...
 
uint64_t numRecords (OperationContext *opCtx) const final
 
uint64_t dataSize (OperationContext *opCtx) const final
 
int averageObjectSize (OperationContext *opCtx) const
 
uint64_t getIndexSize (OperationContext *opCtx, BSONObjBuilder *details=NULL, int scale=1) final
 
boost::optional< Timestamp > getMinimumVisibleSnapshot () final
 If return value is not boost::none, reads with majority read concern using an older snapshot must error. More...
 
void setMinimumVisibleSnapshot (Timestamp name) final
 
bool haveCappedWaiters () final
 Returns true if there may be waiters. More...
 
void notifyCappedWaitersIfNeeded () final
 Notify (capped collection) waiters of data changes, like an insert. More...
 
const CollatorInterface * getDefaultCollator () const final
 Get a pointer to the collection's default collator. More...
 
- Public Member Functions inherited from mongo::Collection::Impl
virtual ~Impl ()=0
 

Static Public Member Functions

static StatusWith< ValidationLevelparseValidationLevel (StringData)
 
static StatusWith< ValidationActionparseValidationAction (StringData)
 

Private Member Functions

DatabaseCatalogEntrydbce () const final
 
CollectionCatalogEntrydetails () const final
 
Status checkValidation (OperationContext *opCtx, const BSONObj &document) const
 Returns a non-ok Status if document does not pass this collection's validator. More...
 
Status recordStoreGoingToUpdateInPlace (OperationContext *opCtx, const RecordId &loc)
 
Status aboutToDeleteCapped (OperationContext *opCtx, const RecordId &loc, RecordData data)
 This will be called right before loc is deleted when wrapping. More...
 
Status _insertDocument (OperationContext *opCtx, const BSONObj &doc, bool enforceQuota)
 same semantics as insertDocument, but doesn't do: More...
 
Status _insertDocuments (OperationContext *opCtx, std::vector< InsertStatement >::const_iterator begin, std::vector< InsertStatement >::const_iterator end, bool enforceQuota, OpDebug *opDebug)
 
StatusWith< RecordId > _updateDocumentWithMove (OperationContext *opCtx, const RecordId &oldLocation, const Snapshotted< BSONObj > &oldDoc, const BSONObj &newDoc, bool enforceQuota, OpDebug *opDebug, OplogUpdateEntryArgs *args, const SnapshotId &sid)
 Perform update when document move will be required. More...
 
bool _enforceQuota (bool userEnforeQuota) const
 
- Private Member Functions inherited from mongo::CappedCallback
virtual ~CappedCallback ()
 
- Private Member Functions inherited from mongo::UpdateNotifier
virtual ~UpdateNotifier ()
 

Private Attributes

int _magic
 
const NamespaceString _ns
 
OptionalCollectionUUID _uuid
 
CollectionCatalogEntry *const _details
 
RecordStore *const _recordStore
 
DatabaseCatalogEntry *const _dbce
 
const bool _needCappedLock
 
CollectionInfoCache _infoCache
 
IndexCatalog _indexCatalog
 
std::unique_ptr< CollatorInterface > _collator
 
BSONObj _validatorDoc
 
std::unique_ptr< MatchExpression > _validator
 
ValidationAction _validationAction
 
ValidationLevel _validationLevel
 
CursorManager _cursorManager
 
const std::shared_ptr< CappedInsertNotifier_cappedNotifier
 
boost::optional< Timestamp > _minVisibleSnapshot
 
Collection_this
 

Static Private Attributes

static const int kMagicNumber = 1357924
 

Friends

class NamespaceDetails
 

Member Typedef Documentation

◆ ValidationAction

◆ ValidationLevel

Constructor & Destructor Documentation

◆ CollectionImpl()

mongo::CollectionImpl::CollectionImpl ( Collection _this,
OperationContext *  opCtx,
StringData  fullNS,
OptionalCollectionUUID  uuid,
CollectionCatalogEntry details,
RecordStore recordStore,
DatabaseCatalogEntry dbce 
)
explicit

◆ ~CollectionImpl()

mongo::CollectionImpl::~CollectionImpl ( )

Member Function Documentation

◆ _enforceQuota()

bool mongo::CollectionImpl::_enforceQuota ( bool  userEnforeQuota) const
private

◆ _insertDocument()

Status mongo::CollectionImpl::_insertDocument ( OperationContext *  opCtx,
const BSONObj &  doc,
bool  enforceQuota 
)
private

same semantics as insertDocument, but doesn't do:

  • some user error checks
  • adjust padding

◆ _insertDocuments()

Status mongo::CollectionImpl::_insertDocuments ( OperationContext *  opCtx,
std::vector< InsertStatement >::const_iterator  begin,
std::vector< InsertStatement >::const_iterator  end,
bool  enforceQuota,
OpDebug *  opDebug 
)
private

◆ _updateDocumentWithMove()

StatusWith< RecordId > mongo::CollectionImpl::_updateDocumentWithMove ( OperationContext *  opCtx,
const RecordId &  oldLocation,
const Snapshotted< BSONObj > &  oldDoc,
const BSONObj &  newDoc,
bool  enforceQuota,
OpDebug *  opDebug,
OplogUpdateEntryArgs *  args,
const SnapshotId sid 
)
private

Perform update when document move will be required.

◆ aboutToDeleteCapped()

Status mongo::CollectionImpl::aboutToDeleteCapped ( OperationContext *  opCtx,
const RecordId &  loc,
RecordData  data 
)
privatevirtual

This will be called right before loc is deleted when wrapping.

If data is unowned, it is only valid inside of this call. If implementations wish to stash a pointer, they must copy it.

Implements mongo::CappedCallback.

◆ averageObjectSize()

int mongo::CollectionImpl::averageObjectSize ( OperationContext *  opCtx) const
inline

◆ cappedTruncateAfter()

void mongo::CollectionImpl::cappedTruncateAfter ( OperationContext *  opCtx,
RecordId  end,
bool  inclusive 
)
finalvirtual

Truncate documents newer than the document at 'end' from the capped collection.

The collection cannot be completely emptied using this function. An assertion will be thrown if that is attempted.

Parameters
inclusive- Truncate 'end' as well iff true

Implements mongo::Collection::Impl.

◆ checkValidation()

Status mongo::CollectionImpl::checkValidation ( OperationContext *  opCtx,
const BSONObj &  document 
) const
private

Returns a non-ok Status if document does not pass this collection's validator.

◆ compact()

StatusWith< CompactStats > mongo::CollectionImpl::compact ( OperationContext *  opCtx,
const CompactOptions options 
)
finalvirtual

◆ dataSize()

uint64_t mongo::CollectionImpl::dataSize ( OperationContext *  opCtx) const
finalvirtual

◆ dbce()

DatabaseCatalogEntry* mongo::CollectionImpl::dbce ( ) const
inlinefinalprivatevirtual

◆ deleteDocument()

void mongo::CollectionImpl::deleteDocument ( OperationContext *  opCtx,
StmtId  stmtId,
const RecordId &  loc,
OpDebug *  opDebug,
bool  fromMigrate = false,
bool  noWarn = false,
Collection::StoreDeletedDoc  storeDeletedDoc = Collection::StoreDeletedDoc::Off 
)
finalvirtual

Deletes the document with the given RecordId from the collection.

'stmtId' the statement id for this delete operation. Pass in kUninitializedStmtId if not applicable. 'fromMigrate' indicates whether the delete was induced by a chunk migration, and so should be ignored by the user as an internal maintenance operation and not a real delete. 'loc' key to uniquely identify a record in a collection. 'opDebug' Optional argument. When not null, will be used to record operation statistics. 'cappedOK' if true, allows deletes on capped collections (Cloner::copyDB uses this). 'noWarn' if unindexing the record causes an error, if noWarn is true the error will not be logged. 'storeDeletedDoc' whether to store the document deleted in the oplog.

Implements mongo::Collection::Impl.

◆ details()

CollectionCatalogEntry* mongo::CollectionImpl::details ( ) const
inlinefinalprivatevirtual

◆ docFor()

Snapshotted<BSONObj> mongo::CollectionImpl::docFor ( OperationContext *  opCtx,
const RecordId &  loc 
) const
inlinefinalvirtual

◆ findDoc()

bool mongo::CollectionImpl::findDoc ( OperationContext *  opCtx,
const RecordId &  loc,
Snapshotted< BSONObj > *  out 
) const
finalvirtual
Parameters
out- contents set to the right docs if exists, or nothing.
Returns
true iff loc exists

Implements mongo::Collection::Impl.

◆ getCappedInsertNotifier()

std::shared_ptr< CappedInsertNotifier > mongo::CollectionImpl::getCappedInsertNotifier ( ) const
finalvirtual

Get a pointer to a capped insert notifier object.

The caller can wait on this object until it is notified of a new insert into the capped collection.

It is invalid to call this method unless the collection is capped.

Implements mongo::Collection::Impl.

◆ getCatalogEntry() [1/2]

CollectionCatalogEntry* mongo::CollectionImpl::getCatalogEntry ( )
inlinefinalvirtual

◆ getCatalogEntry() [2/2]

const CollectionCatalogEntry* mongo::CollectionImpl::getCatalogEntry ( ) const
inlinefinalvirtual

◆ getCursor()

std::unique_ptr< SeekableRecordCursor > mongo::CollectionImpl::getCursor ( OperationContext *  opCtx,
bool  forward = true 
) const
finalvirtual

◆ getCursorManager()

CursorManager* mongo::CollectionImpl::getCursorManager ( ) const
inlinefinalvirtual

◆ getDefaultCollator()

const CollatorInterface * mongo::CollectionImpl::getDefaultCollator ( ) const
finalvirtual

Get a pointer to the collection's default collator.

The pointer must not be used after this Collection is destroyed.

Implements mongo::Collection::Impl.

◆ getIndexCatalog() [1/2]

const IndexCatalog* mongo::CollectionImpl::getIndexCatalog ( ) const
inlinefinalvirtual

◆ getIndexCatalog() [2/2]

IndexCatalog* mongo::CollectionImpl::getIndexCatalog ( )
inlinefinalvirtual

◆ getIndexSize()

uint64_t mongo::CollectionImpl::getIndexSize ( OperationContext *  opCtx,
BSONObjBuilder *  details = NULL,
int  scale = 1 
)
finalvirtual

◆ getManyCursors()

vector< std::unique_ptr< RecordCursor > > mongo::CollectionImpl::getManyCursors ( OperationContext *  opCtx) const
finalvirtual

Returns many cursors that partition the Collection into many disjoint sets.

Iterating all returned cursors is equivalent to iterating the full collection.

Implements mongo::Collection::Impl.

◆ getMinimumVisibleSnapshot()

boost::optional<Timestamp> mongo::CollectionImpl::getMinimumVisibleSnapshot ( )
inlinefinalvirtual

If return value is not boost::none, reads with majority read concern using an older snapshot must error.

Implements mongo::Collection::Impl.

◆ getRecordStore() [1/2]

const RecordStore* mongo::CollectionImpl::getRecordStore ( ) const
inlinefinalvirtual

◆ getRecordStore() [2/2]

RecordStore* mongo::CollectionImpl::getRecordStore ( )
inlinefinalvirtual

◆ getValidationAction()

StringData mongo::CollectionImpl::getValidationAction ( ) const
finalvirtual

◆ getValidationLevel()

StringData mongo::CollectionImpl::getValidationLevel ( ) const
finalvirtual

◆ haveCappedWaiters()

bool mongo::CollectionImpl::haveCappedWaiters ( )
finalvirtual

Returns true if there may be waiters.

Implements mongo::CappedCallback.

◆ infoCache() [1/2]

CollectionInfoCache* mongo::CollectionImpl::infoCache ( )
inlinefinalvirtual

◆ infoCache() [2/2]

const CollectionInfoCache* mongo::CollectionImpl::infoCache ( ) const
inlinefinalvirtual

◆ init()

void mongo::CollectionImpl::init ( OperationContext *  opCtx)
finalvirtual

◆ insertDocument() [1/2]

Status mongo::CollectionImpl::insertDocument ( OperationContext *  opCtx,
const InsertStatement &  doc,
OpDebug *  opDebug,
bool  enforceQuota,
bool  fromMigrate = false 
)
finalvirtual

this does NOT modify the doc before inserting i.e.

will not add an _id field for documents that are missing it

'opDebug' Optional argument. When not null, will be used to record operation statistics. 'enforceQuota' If false, quotas will be ignored.

Implements mongo::Collection::Impl.

◆ insertDocument() [2/2]

Status mongo::CollectionImpl::insertDocument ( OperationContext *  opCtx,
const BSONObj &  doc,
const std::vector< MultiIndexBlock *> &  indexBlocks,
bool  enforceQuota 
)
finalvirtual

Inserts a document into the record store and adds it to the MultiIndexBlocks passed in.

NOTE: It is up to caller to commit the indexes.

Implements mongo::Collection::Impl.

◆ insertDocuments()

Status mongo::CollectionImpl::insertDocuments ( OperationContext *  opCtx,
std::vector< InsertStatement >::const_iterator  begin,
std::vector< InsertStatement >::const_iterator  end,
OpDebug *  opDebug,
bool  enforceQuota,
bool  fromMigrate = false 
)
finalvirtual

◆ insertDocumentsForOplog()

Status mongo::CollectionImpl::insertDocumentsForOplog ( OperationContext *  opCtx,
const DocWriter *const *  docs,
Timestamp *  timestamps,
size_t  nDocs 
)
finalvirtual

Callers must ensure no document validation is performed for this collection when calling this method.

Implements mongo::Collection::Impl.

◆ isCapped()

bool mongo::CollectionImpl::isCapped ( ) const
finalvirtual

◆ notifyCappedWaitersIfNeeded()

void mongo::CollectionImpl::notifyCappedWaitersIfNeeded ( )
finalvirtual

Notify (capped collection) waiters of data changes, like an insert.

Implements mongo::CappedCallback.

◆ ns()

const NamespaceString& mongo::CollectionImpl::ns ( ) const
inlinefinalvirtual

◆ numRecords()

uint64_t mongo::CollectionImpl::numRecords ( OperationContext *  opCtx) const
finalvirtual

◆ ok()

bool mongo::CollectionImpl::ok ( ) const
inlinefinalvirtual

◆ parseValidationAction()

auto mongo::CollectionImpl::parseValidationAction ( StringData  newAction)
static

◆ parseValidationLevel()

auto mongo::CollectionImpl::parseValidationLevel ( StringData  newLevel)
static

◆ parseValidator()

StatusWithMatchExpression mongo::CollectionImpl::parseValidator ( OperationContext *  opCtx,
const BSONObj &  validator,
MatchExpressionParser::AllowedFeatureSet  allowedFeatures,
boost::optional< ServerGlobalParams::FeatureCompatibility::Version >  maxFeatureCompatibilityVersion = boost::none 
) const
finalvirtual

Returns a non-ok Status if validator is not legal for this collection.

Implements mongo::Collection::Impl.

◆ recordStoreGoingToUpdateInPlace()

Status mongo::CollectionImpl::recordStoreGoingToUpdateInPlace ( OperationContext *  opCtx,
const RecordId &  loc 
)
privatevirtual

Implements mongo::UpdateNotifier.

◆ refreshUUID()

void mongo::CollectionImpl::refreshUUID ( OperationContext *  opCtx)
finalvirtual

◆ requiresIdIndex()

bool mongo::CollectionImpl::requiresIdIndex ( ) const
finalvirtual

◆ setMinimumVisibleSnapshot()

void mongo::CollectionImpl::setMinimumVisibleSnapshot ( Timestamp  name)
inlinefinalvirtual

◆ setValidationAction()

Status mongo::CollectionImpl::setValidationAction ( OperationContext *  opCtx,
StringData  newAction 
)
finalvirtual

◆ setValidationLevel()

Status mongo::CollectionImpl::setValidationLevel ( OperationContext *  opCtx,
StringData  newLevel 
)
finalvirtual

◆ setValidator()

Status mongo::CollectionImpl::setValidator ( OperationContext *  opCtx,
BSONObj  validator 
)
finalvirtual

Sets the validator for this collection.

An empty validator removes all validation. Requires an exclusive lock on the collection.

Implements mongo::Collection::Impl.

◆ touch()

Status mongo::CollectionImpl::touch ( OperationContext *  opCtx,
bool  touchData,
bool  touchIndexes,
BSONObjBuilder *  output 
) const
finalvirtual

forces data into cache

Implements mongo::Collection::Impl.

◆ truncate()

Status mongo::CollectionImpl::truncate ( OperationContext *  opCtx)
finalvirtual

removes all documents as fast as possible indexes before and after will be the same as will other characteristics

order will be: 1) store index specs 2) drop indexes 3) truncate record store 4) re-write indexes

Implements mongo::Collection::Impl.

◆ updateDocument()

RecordId mongo::CollectionImpl::updateDocument ( OperationContext *  opCtx,
const RecordId &  oldLocation,
const Snapshotted< BSONObj > &  oldDoc,
const BSONObj &  newDoc,
bool  enforceQuota,
bool  indexesAffected,
OpDebug *  opDebug,
OplogUpdateEntryArgs *  args 
)
finalvirtual

Updates the document @ oldLocation with newDoc.

If the document fits in the old space, it is put there; if not, it is moved. Sets 'args.updatedDoc' to the updated version of the document with damages applied, on success. 'opDebug' Optional argument. When not null, will be used to record operation statistics.

Returns
the post update location of the doc (may or may not be the same as oldLocation)

Implements mongo::Collection::Impl.

◆ updateDocumentWithDamages()

StatusWith< RecordData > mongo::CollectionImpl::updateDocumentWithDamages ( OperationContext *  opCtx,
const RecordId &  loc,
const Snapshotted< RecordData > &  oldRec,
const char *  damageSource,
const mutablebson::DamageVector &  damages,
OplogUpdateEntryArgs *  args 
)
finalvirtual

Not allowed to modify indexes.

Illegal to call if updateWithDamagesSupported() returns false. Sets 'args.updatedDoc' to the updated version of the document with damages applied, on success.

Returns
the contents of the updated record.

Implements mongo::Collection::Impl.

◆ updateValidator()

Status mongo::CollectionImpl::updateValidator ( OperationContext *  opCtx,
BSONObj  newValidator,
StringData  newLevel,
StringData  newAction 
)
finalvirtual

Sets the validator to exactly what's provided.

If newLevel or newAction are empty, this sets them to the defaults. Any error Status returned by this function should be considered fatal.

Implements mongo::Collection::Impl.

◆ updateWithDamagesSupported()

bool mongo::CollectionImpl::updateWithDamagesSupported ( ) const
finalvirtual

◆ uuid()

OptionalCollectionUUID mongo::CollectionImpl::uuid ( ) const
inlinevirtual

◆ validate()

Status mongo::CollectionImpl::validate ( OperationContext *  opCtx,
ValidateCmdLevel  level,
bool  background,
std::unique_ptr< Lock::CollectionLock collLk,
ValidateResults results,
BSONObjBuilder *  output 
)
finalvirtual
Returns
OK if the validate run successfully OK will be returned even if corruption is found deatils will be in result

Implements mongo::Collection::Impl.

Friends And Related Function Documentation

◆ NamespaceDetails

friend class NamespaceDetails
friend

Member Data Documentation

◆ _cappedNotifier

const std::shared_ptr<CappedInsertNotifier> mongo::CollectionImpl::_cappedNotifier
private

◆ _collator

std::unique_ptr<CollatorInterface> mongo::CollectionImpl::_collator
private

◆ _cursorManager

CursorManager mongo::CollectionImpl::_cursorManager
mutableprivate

◆ _dbce

DatabaseCatalogEntry* const mongo::CollectionImpl::_dbce
private

◆ _details

CollectionCatalogEntry* const mongo::CollectionImpl::_details
private

◆ _indexCatalog

IndexCatalog mongo::CollectionImpl::_indexCatalog
private

◆ _infoCache

CollectionInfoCache mongo::CollectionImpl::_infoCache
private

◆ _magic

int mongo::CollectionImpl::_magic
private

◆ _minVisibleSnapshot

boost::optional<Timestamp> mongo::CollectionImpl::_minVisibleSnapshot
private

◆ _needCappedLock

const bool mongo::CollectionImpl::_needCappedLock
private

◆ _ns

const NamespaceString mongo::CollectionImpl::_ns
private

◆ _recordStore

RecordStore* const mongo::CollectionImpl::_recordStore
private

◆ _this

Collection* mongo::CollectionImpl::_this
private

◆ _uuid

OptionalCollectionUUID mongo::CollectionImpl::_uuid
private

◆ _validationAction

ValidationAction mongo::CollectionImpl::_validationAction
private

◆ _validationLevel

ValidationLevel mongo::CollectionImpl::_validationLevel
private

◆ _validator

std::unique_ptr<MatchExpression> mongo::CollectionImpl::_validator
private

◆ _validatorDoc

BSONObj mongo::CollectionImpl::_validatorDoc
private

◆ kMagicNumber

const int mongo::CollectionImpl::kMagicNumber = 1357924
staticprivate

The documentation for this class was generated from the following files: