public static CreateIndexOptions CreateIndexOptions(string name, IIndexOptions options) { return(new CreateIndexOptions { Name = name, Unique = options.Unique, }); }
public static IndexKeysDefinition <T> CreateIndexDefinition <T>(IEnumerable <IIndexField <T> > fields, IIndexOptions options) { if (fields.Count() < 1) { throw new InvalidOperationException("Fields length must be greater than 0"); } var firstField = fields.First(); var otherFields = fields.Skip(1); var builder = new IndexKeysDefinitionBuilder <T>(); var index = CreateIndexDefinition(builder, firstField); foreach (var otherField in otherFields) { index = CreateIndexDefinition(index, otherField); } return(index); }
public Task CreateIndex(string name, IEnumerable <IIndexField <TItem> > fields, IIndexOptions options) { return(Task.FromResult(true)); }
public async Task CreateIndex(string name, IEnumerable <IIndexField <TItem> > fields, IIndexOptions options) { var indexDefinition = MongoIndexHelper.CreateIndexDefinition(fields, options); var indexOptions = MongoIndexHelper.CreateIndexOptions(name, options); await _collection.Indexes.CreateOneAsync(new CreateIndexModel <TItem>(indexDefinition, indexOptions)); }