class Moped::Session

A session in moped is root for all interactions with a MongoDB server or replica set.

It can talk to a single default database, or dynamically speak to multiple databases.

@example Single database (console-style)

session = Moped::Session.new(["127.0.0.1:27017"])
session.use :moped
session[:users].find.one # => { name: "John" }

@example Multiple databases

session = Moped::Session.new(["127.0.0.1:27017"])

session.with(database: :admin) do |admin|
  admin.command ismaster: 1
end

session.with(database: :moped) do |moped|
  moped[:users].find.one # => { name: "John" }
end

@example Authentication

session = Moped::Session.new %w[127.0.0.1:27017],
session.with(database: "admin").login("admin", "s3cr3t")