Sha256: 74f18074cbc361c59bb35faa7bc73cf97419269d6a4a9ea4b9cff421ddb544a9
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'mongo' 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 if ENV['mongo_root_password'] MongoClient.client = Mongo::Client.new( [ "#{ENV['mongodb']}:27017" ], database: 'api', password: ENV['mongo_root_password'], user: 'root') else MongoClient.client = Mongo::Client.new( [ "#{ENV['mongodb']}:27017" ], database: 'api') end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
schemaless_rest_api-0.3.1 | lib/schemaless_rest_api/mongo_client.rb |
schemaless_rest_api-0.3.0 | lib/schemaless_rest_api/mongo_client.rb |