MongoDB Haskell driver, including patch for MongoDB v.6.* authentication with SCRAM-SHA256
Find a file
Michael S. Craig fa95b65fad Fix for bad behavior when using TailableCursor.
`Database.MongoDB.Query.next` and `nextBatch` prefetch a promise of the next
batch of documents from the server whenever the current batch has been
exhausted. The following call to `next` or `nextBatch` fulfills that promise
(thereby turning it into a concrete batch of documents) and then returns one or
more documents in the batch.

The old behavior was to raise an exception if an empty batch with a nonzero
cursor ID was encountered. This is normal when using tailable cursors, so a
change was required.

Now, `Nothing` is returned with the still-live cursor ID, instead of raising
the exception. Also, prefetched empty batches with nonzero cursor IDs are
refetched once per call to avoid stale data.

This new prefetching behavior does not affect the performance of `next`, except
when calling it repeatedly on a tailable cursor with no new data. In those
(generally avoidable) cases, each call to `next` results in two server calls
instead of one.
2011-12-13 11:02:57 -05:00
Control/Monad Updating to monad-control-0.3, with help from Bas van Dijk. 2011-12-05 09:23:39 -08:00
Database Fix for bad behavior when using TailableCursor. 2011-12-13 11:02:57 -05:00
doc fix typo in article 2011-09-12 10:46:24 -04:00
System/IO Small edits to some comments. fix secondaryOk to return master only when no secondaries available 2011-07-13 15:34:52 -04:00
LICENSE Add license file 2010-06-28 20:24:23 -04:00
mongoDB.cabal Updating to monad-control-0.3, with help from Bas van Dijk. 2011-12-05 09:23:39 -08:00
README.md Fix ReadMe's driver design link 2011-07-13 15:40:48 -04:00
Setup.lhs stuff to make into a package 2010-01-09 16:49:06 -06:00

This is the Haskell MongoDB driver (client). MongoDB is a free, scalable, fast, document database management system. This driver lets you connect to a MongoDB server, and update and query its data. It also lets you do adminstrative tasks, like create an index or look at performance statistics.

Documentation