Sha256: 1e7dd08efc25585ac0ff5965c2e2e9739fedd4f7e630e00b5464d2767136beb4
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
require "mongo" # typed: false - MongoClient new # Client to talk to Mongo database module MongoClient class << self # @return Client to work with MongoDb attr_accessor :client def insert(model, data, id) collection = MongoClient.client[model] collection.insert_one({ id: id, **data }) end def find(model, id) find_all(model, { id: id }) end def get_all(model) collection = MongoClient.client[model] collection.find.collect do |match| match.delete("_id") match end end def find_all(model, query) collection = MongoClient.client[model] collection.find(query).collect do |match| match.delete("_id") match end end def update(model, id, data) collection = MongoClient.client[model] collection.update_one({ id: id }, { id: id, **data }) end def delete(model, id) collection = MongoClient.client[model] collection.delete_one({ id: id }) end end end MongoClient.client = if ENV["mongo_root_password"] Mongo::Client.new( ["#{ENV["mongodb"]}:27017"], database: "api", password: ENV["mongo_root_password"], user: "root" ) else Mongo::Client.new( ["#{ENV["mongodb"]}:27017"], database: "api" ) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
schemaless_rest_api-0.6.0 | lib/schemaless_rest_api/mongo_client.rb |