glassy-mongo-odm
glassy-mongo-odm
Mongo ODM (Object Document Mapper) with repositories for crystal lang
TODO
- Serialize & Deserialize
- Connection Pool
- Thread Safety
Currently, in the container, we are creating several instances
Installation
-
Add the dependency to your
shard.yml
:dependencies: glassy-mongodb-odm: github: glassy-framework/glassy-mongo-odm
-
Run
shards install
Usage
require "glassy-mongo-odm"
include Glassy::MongoODM::Annotations
@[ODM::Document]
class User
@[ODM::Id]
property id : BSON::ObjectId?
@[ODM::Field(name: "Name")]
property name : String
@[ODM::Field]
property birth_date : Time
@[ODM::Field]
property mother : Mother?
@[ODM::Document]
class Mother
@[ODM::Field]
property name : String?
end
def initialize(@name, @birth_date)
end
end
class UserRepository < Glassy::MongoODM::Repository(User)
end
conn = Glassy::MongoODM::Connection.new("mongodb://mongo", db_name)
repository = UserRepository.new(conn)
user = User.new(name: "My Name", birth_date: Time.local)
repository.save(user)
Development
Always run crystal spec before submiting code
Contributing
- Fork it (https://github.com/glassy-framework/glassy-mongo-odm/fork)
- Create your feature branch (
git checkout -b feature/my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature/my-new-feature
) - Create a new Pull Request
Contributors
- Anderson Danilo - creator and maintainer
Repository
glassy-mongo-odm
Owner
Statistic
- 1
- 0
- 0
- 2
- 3
- about 4 years ago
- September 3, 2020
License
MIT License
Links
Synced at
Thu, 21 Nov 2024 13:04:15 GMT
Languages