Mongoman

Configures and starts local or distributed MongoDB clusters. This library can be used just for your tests, or you can use it as a core component in your project.

Features

  • [x] Configure replica sets
  • [x] Starts and manages mongod processes through Docker: no Erlang ports
  • [ ] Configure sharded clusters
  • [ ] Temporarily remove a node from a replica set to rebuild big indexes (WIP)

Installation

Add mongoman to your list of dependencies in mix.exs:

  def deps do
    [{:mongoman, "~> 0.1.6"}]
  end

Examples

Starts a local replica set named "my_repl_set" with 5 members:

config = %ReplicaSetConfig{id: "my_repl_set", members: [
  %ReplicaSetMember{id: 0},
  %ReplicaSetMember{id: 1},
  %ReplicaSetMember{id: 2},
  %ReplicaSetMember{id: 3},
  %ReplicaSetMember{id: 4}
]}
{:ok, pid} = Mongoman.ReplicaSet.start_link(config)

Similar Projects