0

通过代码创建新集合时,添加新索引的调用失败:

private static void CreateCollection<T>(string collectionName, CreateIndexModel<T> index)
{
  var database = GetMongoDatabase();

  database.CreateCollection(collectionName);

  var collection = database.GetCollection<T>(collectionName);
  collection.Indexes.CreateOne(index); // Message=Command createIndexes failed
}
4

1 回答 1

0

在添加索引之前,您需要等待异步集合创建:

private static async Task CreateCollection<T>(string collectionName, CreateIndexModel<T> index)
{
  var database = GetMongoDatabase();

  await database.CreateCollectionAsync(collectionName);

  var collection = database.GetCollection<T>(collectionName);
  collection.Indexes.CreateOne(index);
}
于 2020-03-12T15:36:42.280 回答