public void IterationCleanup()
        {
            var collectionNames = DatabaseInstance.GetCollectionNames().ToList();

            foreach (var collectionName in collectionNames)
            {
                var droppedCollectionIndexes = DatabaseInstance.GetCollection(collectionName).GetIndexes().ToList();
                DatabaseInstance.DropCollection(collectionName);

                foreach (var indexInfo in droppedCollectionIndexes)
                {
                    DatabaseInstance.Engine.EnsureIndex(collectionName, indexInfo.Field, indexInfo.Expression);
                }
            }
        }
Esempio n. 2
0
        public void IterationCleanup()
        {
            var indexesCollection        = DatabaseInstance.GetCollection("$indexes");
            var droppedCollectionIndexes = indexesCollection.Query().Where(x => x["name"] != "_id").ToDocuments().ToList();

            var collectionNames = DatabaseInstance.GetCollectionNames();

            foreach (var name in collectionNames)
            {
                DatabaseInstance.DropCollection(name);
            }

            foreach (var indexInfo in droppedCollectionIndexes)
            {
                DatabaseInstance.GetCollection(indexInfo["collection"])
                .EnsureIndex(indexInfo["name"], BsonExpression.Create(indexInfo["expression"]), indexInfo["unique"]);
            }

            DatabaseInstance.Checkpoint();
            DatabaseInstance.Rebuild();
        }