Table of Contents

Class UserNoticeStreamCollection

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll

Users' notice streams, one document per user and stream, default collection name UserNoticeStream.

public class UserNoticeStreamCollection : DiskRepositoryCollectionBase<UserNoticeStreamEntity>, IUserNoticeStreamCollection, IDiskRepositoryCollection<UserNoticeStreamEntity>, IDiskRepositoryCollection<UserNoticeStreamEntity, ObjectId>, IRepositoryCollection<UserNoticeStreamEntity, ObjectId>, IReadOnlyRepositoryCollection<UserNoticeStreamEntity, ObjectId>, IRepositoryCollection, IReadOnlyRepositoryCollection
Inheritance
RepositoryCollectionBase
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>
DiskRepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>
DiskRepositoryCollectionBase<UserNoticeStreamEntity>
UserNoticeStreamCollection
Implements
IDiskRepositoryCollection<UserNoticeStreamEntity>
IDiskRepositoryCollection<UserNoticeStreamEntity, ObjectId>
IRepositoryCollection<UserNoticeStreamEntity, ObjectId>
IReadOnlyRepositoryCollection<UserNoticeStreamEntity, ObjectId>
IRepositoryCollection
IReadOnlyRepositoryCollection
Inherited Members
DiskRepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.GetCollection()
DiskRepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.DropCollectionAsync()
DiskRepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.GetDirtyAsync()
DiskRepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.GetFailedIndices()
DiskRepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.DropEmptyAsync(IMongoCollection<UserNoticeStreamEntity>)
DiskRepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.FetchSize
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>._mongoDbServiceFactory
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>._logger
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>._databaseContext
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>._mongoDbService
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.InitAsync(IMongoCollection<UserNoticeStreamEntity>)
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.ProtectedCollectionName
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.CollectionName
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.DatabasePart
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.ConfigurationName
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.AutoClean
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.CleanOnStartup
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.CreateCollectionStrategy
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.Indices
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.CoreIndices
RepositoryCollectionBase<UserNoticeStreamEntity, ObjectId>.Types
RepositoryCollectionBase.ConfigurationName
RepositoryCollectionBase.ActionEvent

Remarks

The unique index keeps one stream per user and name when two instances add to it at once; due streams are found by due time.

Constructors

UserNoticeStreamCollection(IMongoDbServiceFactory, ILogger<UserNoticeStreamCollection>, IOptions<ThargaTeamOptions>)

Creates the collection under the configured name.

public UserNoticeStreamCollection(IMongoDbServiceFactory mongoDbServiceFactory, ILogger<UserNoticeStreamCollection> logger, IOptions<ThargaTeamOptions> options = null)

Parameters

mongoDbServiceFactory IMongoDbServiceFactory
logger ILogger<UserNoticeStreamCollection>
options IOptions<ThargaTeamOptions>

Properties

CollectionName

public override string CollectionName { get; }

Property Value

string

Indices

public override IEnumerable<CreateIndexModel<UserNoticeStreamEntity>> Indices { get; }

Property Value

IEnumerable<CreateIndexModel<UserNoticeStreamEntity>>