shanna / dm-mongo-adapter
- Source
- Commits
- Network (5)
- Issues (0)
- Downloads (1)
- Wiki (1)
- Graphs
-
Branch:
master
commit 834649fac4269fb83801e728599d28d80c8bba6b
tree 56206e01537494042f70d05e2826b41a92023dab
parent deb2c9ae2e8e8b6f57e6c906c3578df293eae952
tree 56206e01537494042f70d05e2826b41a92023dab
parent deb2c9ae2e8e8b6f57e6c906c3578df293eae952
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Sun Jun 21 18:41:41 -0700 2009 | |
| |
LICENSE | Sun Jun 21 18:41:41 -0700 2009 | |
| |
README.rdoc | Mon Jun 29 01:10:13 -0700 2009 | |
| |
Rakefile | Thu Jun 25 07:29:32 -0700 2009 | |
| |
VERSION.yml | Tue Jun 23 21:45:14 -0700 2009 | |
| |
dm-mongo-adapter.gemspec | Thu Jun 25 07:29:57 -0700 2009 | |
| |
lib/ | Sun Jun 28 21:26:51 -0700 2009 | |
| |
spec/ | Sun Jun 28 00:35:06 -0700 2009 |
README.rdoc
DataMapper Mongo Adapter
WARNING
This adapter is shit, I’m just trying to make a start. Steal what you can or write something better :)
TODO
Embedded Objects
I have no idea. I’d guess a DM::Relationship#has hack or custom DM::Types that behave like a table-less resource?
Associations
The documentation for Mongo is confusing so I’m not sure if DBRef’s are deprecated or not.
Query Performance
At the moment a single Javascript $where clause is built. Your indexes probably won’t be used. A mixture of Hash conditions plus a Javascript $where clause when required would be much better.
Dependencies
Ruby::
- dm-core ~> 0.10.0
- mongo ~> 0.8
Install
- Via git:
git clone git://github.com/shanna/dm-mongo-adapter.git rake install
Synopsis
DataMapper.setup(:default,
:adapter => 'mongo',
:database => 'my_mongo_db',
)
# Define your DataMapper resource and start saving:
class User
include DataMapper::Resource
property :id, DataMapper::Mongo::Types::ObjectID, :field => '_id', :key => true
property :name, String
property :age, Integer
end
# No need to (auto_)migrate!
User.create(:name => 'Fred', :age => '25')
# Conditions:
users = User.all(:age.gte => 10, :limit => 20, :order => [:age.asc])
Contributing
Go nuts. Just send me a pull request (github or otherwise) when you are happy with your code.
Copyright
Copyright © 2009 "Shane Hanna". See LICENSE for details.
