Current section
Files
Jump to
Current section
Files
lib/mongo.ex
defmodule Mongo do
use Mongo.Helpers
@moduledoc """
[MongoDB](http://www.mongodb.org) driver in Elixir
See [elixir-mongo source repo](https://github.com/checkiz/elixir-mongo)
"""
@doc """
Connects to a Mongo Database Server, see `Mongo.Server.connect/0`
"""
defdelegate connect, to: Mongo.Server
@doc """
Connects to a Mongo Database Server, see `Mongo.Server.connect/2`
"""
defdelegate connect(host, port), to: Mongo.Server
@doc """
Connects to a Mongo Database Server, see `Mongo.Server.connect/1`
"""
defdelegate connect(opts), to: Mongo.Server
defbang connect
defbang connect(opts)
defbang connect(host, port)
@doc """
Returns a db struct `%Mongo.Db{}, see `Mongo.Server.new/2``
"""
defdelegate db(mongo, name), to: Mongo.Db, as: :new
@doc """
Helper function that assigns radom ids to a list of documents when `:_id` is missing
see `Mongo.Server.assign_id/2`
"""
defdelegate assign_id(docs), to: Mongo.Server
@doc """
Helper function that assigns radom ids (with prefix) to a list of documents when `:_id` is missing
see `Mongo.Server.assign_id/2`
"""
defdelegate assign_id(docs, mongo), to: Mongo.Server
defmodule Error, do: defstruct([msg: nil, acc: []])
defmodule Bang do
defexception [:message, :stack]
def exception(message) when is_bitstring(message), do: %Bang{message: message}
def exception(msg: msg, acc: acc), do: %Bang{message: inspect(msg), stack: acc}
end
end