Files
meteor/packages/mongo
David Glasser dde3924c9d Make MongoConnection constructor always wait
Summary:
Previously, the MongoConnection constructor (which gets called
implicitly the first time you make a Mongo.Collection) would wait for a
successful connection before returning ... if an oplog URL is supplied.
If not in oplog mode, it would return before the connection is
successful, and the first subsequent calls that actually tried to do
something with the DB would block instead.

Having an inconsistent API that is sometimes sync and sometimes async is
not very clear.  Moreover, error handling from connect was strange.
Prior to 0.8.1 (24a0006c), connect errors would be thrown
uncatchably (ie, from an unrelated context).  Starting with 0.8.1,
connect errors would effectively be ignored due to the new
bindEnvironment (they'd be logged, but all code would continue
normally).

It's pretty important that startup connection errors crash the server
process instead of letting it keep running unproductively.  And it would
also be nice if those errors could be caught (if you're making a
MongoConnection in your own code).  So this change ensures that
connection errors get thrown by the MongoConnection constructor.

Fixes #3038.

Test Plan: new unit test. manual test with MONGO_URL=xxx

Reviewers: ben

Subscribers: justinsb

Differential Revision: https://phabricator.meteor.io/D19
2015-01-29 16:56:22 -08:00
..
2014-08-28 11:14:40 -07:00
2014-08-29 15:21:26 -07:00
2014-12-09 13:15:29 -08:00
2014-08-28 11:14:40 -07:00
2015-01-29 14:03:20 -08:00
2014-10-28 09:36:03 -07:00

mongo

The mongo package is a full stack database driver that provides several paramount pieces of functionality to work with MongoDB in Meteor:

  • an efficient Livequery implementation providing real-time updates from the database by consuming the MongoDB replication log
  • a fall-back Livequery implementation for cases when the replication log is not available, implemented by polling the database
  • DDP RPC end-points for updating the data from clients connected over the wire
  • Serialization and deserialization of updates to the DDP format

To learn more about Livequery, see the project page on www.meteor.com.