# 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/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions/MongoDBBuilderExtensions.cs#L42-L54)

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. This overload is not available in polyglot app hosts. Use the overload without the configuration callback instead.

## 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();
```

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.
