> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/open-source/use-harness-open-source/pipelines-1/samples/mongodb.md).

# Mongodb

This guide covers configuring continuous integration pipelines for projects that have a MongoDB dependency.

## Basic Example <a href="#basic-example" id="basic-example"></a>

In the below example we demonstrate a pipeline that launches Mongo as a background step. The database server will be available at `mongo:27017`, where the hostname matches the background step name.

```yaml
kind: pipeline
spec:
  stages:
  - type: ci
    spec:
      steps:
      - name: mongo
        type: background
        spec:
          container: mongo:4

      - name: ping
        type: run
        spec:
          container: mongo:4
          script: |-
            sleep 5
            mongo --host mongo --eval "db.version()"
```

## Common Problems <a href="#common-problems" id="common-problems"></a>

### Initialization <a href="#initialization" id="initialization"></a>

If you are unable to connect to the Mongo container please make sure you are giving the instance adequate time to initialize and begin accepting connections.

```yaml
      - name: ping
        type: run
        spec:
          container: mongo:4
          script: |-
            sleep 5
            mongo --host mongo --eval "db.version()"
```

### Incorrect Hostname <a href="#incorrect-hostname" id="incorrect-hostname"></a>

You cannot use `127.0.0.1` or `localhost` to connect with the Mongo container. If you are unable to connect to Mongo please verify you are using the correct hostname, corresponding with the name of the container.

Bad:

```yaml
      - name: ping
        type: run
        spec:
          container: mongo:4
          script: |-
            sleep 5
            mongo --host localhost --eval "db.version()"
```

Good:

```yaml
      - name: ping
        type: run
        spec:
          container: mongo:4
          script: |-
            sleep 5
            mongo --host mongo --eval "db.version()"
```
