Liam Staskawicz  committed c1994b1

  • Participants
  • Parent commits f32a472
  • Branches default

Comments (0)

Files changed (1)

-== Welcome ==
-Welcome to your wiki! This is the default page we've installed for your convenience. Go ahead and edit it.
-=== Wiki features ===
-This wiki uses the [[|Creole]] syntax, and is fully compatible with the 1.0 specification.
-The wiki itself is actually a hg repository, which means you can clone it, edit it locally/offline, add images or any other file type, and push it back to us. It will be live immediately.
-Go ahead and try:
-$ hg clone
-Wiki pages are normal files, with the .wiki extension. You can edit them locally, as well as creating new ones.
-=== Syntax highlighting ===
-You can also highlight snippets of text, we use the excellent [[|Pygments]] library.
-Here's an example of some Python code:
-def wiki_rocks(text):
-	formatter = lambda t: "funky"+t
-	return formatter(text)
-You can check out the source of this page to see how that's done, and make sure to bookmark [[|the vast library of Pygment lexers]], we accept the 'short name' or the 'mimetype' of anything in there.
-Have fun!
+== Overview ==
+[[|Fantom]] is a great language that runs nice and quickly on the JVM.  [[|MongoDB]] is an excellent schema-free document oriented database.  Rather than wrap the existing Java drivers, I decided to create a pure Fantom driver implementation, both to learn Fantom better and to learn more about Mongo's internals.
+==== Status ====
+This project is still pretty new.  Definitely not being used in any production capacity as of yet, but the test coverage is getting better all the time, and the code has remained relatively simple.  Please don't hesitate to submit bug reports or (even better!) pull requests.
+== Quick Start ==
+==== Requirements ====
+Fortunately not much - a Fantom 1.0.48 or later installation, and a recent MongoDB release (I've been testing against 1.1.4)
+==== Installation ====
+For now, grab the code from hg, then cd into the top level dir.  {{{ fan }}} and you're good to go - mongo.pod has been added to your system.  Just add {{{ using mongo }}} at the top of a file/script in which you'd like to use it.
+==== Usage ====
+// insert
+m := Mongo()
+db := m.db("mytestdb")
+c := db["mycollection"]
+obj := c.findOne()
+// now, obj["foofoo"] == 345
+// now, c.find().count == 0
+For now, the best way to get into it is to go through the source and the tests.  Once I figure out a good place to host some of the fandoc reference material, I'll add that as well.
+=== Existing Features ===
+ * BSON serialization/deserialization for most types (
+ * single and bulk insert
+ * querying w/limit and skip
+ * count on cursors
+ * remove/delete
+ * a variety of DB commands
+ * authentication and user management
+ * connection management (sort of...can probably be improved upon)
+=== Todo ===
+in no particular order...
+ * index management!
+ * GridFS
+ * replica pairs / sharding support
+ * always more tests
+ * eval/hint/explain/$where
+ * Map/Reduce
+ * auto-reconnect