# MongoDBBuilderExtensions Methods

- Package: [CommunityToolkit.Aspire.Hosting.MongoDB.Extensions](/reference/api/csharp/communitytoolkit.aspire.hosting.mongodb.extensions.md)
- Type: [MongoDBBuilderExtensions](/reference/api/csharp/communitytoolkit.aspire.hosting.mongodb.extensions/mongodbbuilderextensions.md)
- Kind: `Methods`
- Members: `1`

Provides extension methods for adding MongoDB resources to an `Hosting.IDistributedApplicationBuilder`.

## WithDbGate(IResourceBuilder<MongoDBServerResource>, Action<IResourceBuilder<DbGateContainerResource>>, string?)

- Name: `WithDbGate(IResourceBuilder<MongoDBServerResource>, Action<IResourceBuilder<DbGateContainerResource>>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<MongoDBServerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/67afcca30f02c18687f9c5219313710af9706630/src/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions/MongoDBBuilderExtensions.cs#L39-L51)

Adds an administration and development platform for MongoDB to the application model using DbGate.

```csharp
public static class MongoDBBuilderExtensions
{
    public static IResourceBuilder<MongoDBServerResource> WithDbGate(
        this IResourceBuilder<MongoDBServerResource> builder,
        Action<IResourceBuilder<DbGateContainerResource>>? configureContainer = null,
        string? containerName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<MongoDBServerResource>`)
  The MongoDB server resource builder.
- `configureContainer` (`Action<IResourceBuilder<DbGateContainerResource>>`) `optional`
  Configuration callback for DbGate container resource.
- `containerName` (`string?`) `optional`
  The name of the container (Optional).

## Returns

`IResourceBuilder<MongoDBServerResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1`.

## Remarks

This version of the package defaults to the tag of the container image.

## Examples

Use in application host with a MongoDB resource

```csharp
var builder = DistributedApplication.CreateBuilder(args);

var mongodb = builder.AddMongoDB("mongodb")
   .WithDbGate();
var db = mongodb.AddDatabase("db");

var api = builder.AddProject<Projects.Api>("api")
  .WithReference(db);

builder.Build().Run();
```
