124 lines
3.0 KiB
Plaintext
124 lines
3.0 KiB
Plaintext
= Introduction
|
|
|
|
This is a simple pure-Ruby driver for the 10gen Mongo DB. For more information
|
|
about Mongo, see http://www.mongodb.org.
|
|
|
|
Note: this driver is still alpha quality. The API will change, as will the
|
|
data saved to the database (especially primary key values). Do *_not_* use this
|
|
for any production data.
|
|
|
|
|
|
= Demo
|
|
|
|
$ ruby examples/demo.rb
|
|
|
|
Mongo must be running, of course.
|
|
|
|
|
|
= Testing
|
|
|
|
$ rake test
|
|
|
|
The tests assume that the Mongo database is running on the default port.
|
|
|
|
|
|
= Documentation
|
|
|
|
$ rake rdoc
|
|
|
|
Then open the file doc/index.html. (I need to figure out where to put this on
|
|
the Web, or even how to publish this to the Wiki at
|
|
http://github.com/jimm/mongo-ruby-driver/wikis automatically.)
|
|
|
|
|
|
= The Code
|
|
|
|
Most of this code was transliterated from Geir Magnusson Jr's Java Mongo
|
|
driver, which can be found at
|
|
http://github.com/geir/mongo-java-driver/tree/master.
|
|
|
|
== Release Notes
|
|
|
|
I plan to remove the auto-generation of _id primary keys.
|
|
|
|
If you ran tests using code before release
|
|
http://github.com/jimm/mongo-ruby-driver/commit/4244f56ce6c7044a1ce096843eb991856422c0cc
|
|
then the DB API tests might fail the first time you run it. If that doesn't
|
|
clear up the failed test, you might have to delete your database. To do that,
|
|
type
|
|
|
|
$ rm /data/db/ruby-mongo-test*
|
|
|
|
|
|
= To Do
|
|
|
|
* Implement Babble's algorithm for ObjectID. Implement Comparable.
|
|
|
|
* Change find(selector={}, fields=nil, options={}) to find(selector={},
|
|
options={})
|
|
|
|
* ObjectID equality.
|
|
|
|
* Capped collection support.
|
|
|
|
* More code comments. More text in this file.
|
|
|
|
* Support more types: REF, SYMBOL, CODE_W_SCOPE, etc.
|
|
|
|
* Introduce optional per-database and per-collection PKInjector.
|
|
|
|
* Synchronization.
|
|
|
|
* More tests.
|
|
|
|
* Implement Admin.
|
|
|
|
* Study src/main/ed/db/{dbcollection,dbcursor,db}.js and ByteEncoder.java in
|
|
the Babble code. That's what I should be writing to.
|
|
|
|
|
|
= Credits
|
|
|
|
Adrian Madrid, aemadrid@gmail.com
|
|
* examples/benchmarks.rb
|
|
* examples/irb.rb
|
|
* Modifications to examples/simple.rb
|
|
* Found plenty of bugs and missing features.
|
|
* Many other code suggestions and improvements.
|
|
|
|
|
|
= License
|
|
|
|
== Mongo Ruby Driver
|
|
|
|
Copyright (C) 2008 10gen Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify it under
|
|
the terms of the GNU Affero General Public License, version 3, as published by
|
|
the Free Software Foundation.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
details.
|
|
|
|
See http://www.gnu.org/licenses/ for a copy of the GNU Affero General Public
|
|
License.
|
|
|
|
== UUID
|
|
|
|
This driver uses the UUID generator by Assaf Arkin and Eric Hodel, which uses
|
|
the MIT license (see the top of the file lib/mongo/util/uuid.rb).
|
|
|
|
== MAC Address Finder
|
|
|
|
This driver uses the MAC address finder found at
|
|
http://codeforpeople.com/lib/ruby/macaddr/macaddr-1.0.0/lib/macaddr.rb, which
|
|
uses Ruby's license (see http://codeforpeople.com/lib/license.txt).
|
|
|
|
--
|
|
# Local Variables:
|
|
# mode:rdoc
|
|
# End:
|
|
++
|