OK, this is interesting: if I insert the date as new Date(thedate), it stores properly as an ISODate in Mongo. However, if I search the date like so, it fails (I'm using mrt mongo to do it in the database):
db.appointments.find({startDate: {$gt: "2013-06-05T05:00:00Z", $lt: "2013-06-06T00:00:00Z"}})
It just treats the date as a string. But if I do this, it returns the proper objects:
db.appointments.find({startDate: {$gt: ISODate("2013-06-05T05:00:00Z"), $lt: ISODate("2013-06-06T00:00:00Z")}})
However, when I try to do that from Meteor, it gives me:
Uncaught ReferenceError: ISODate is not defined
And if I put ISODate in quotes, i.e.
db.appointments.find({startDate: {$gt: "ISODate('2013-06-05T05:00:00Z')", $lt: 'ISODate("2013-06-06T00:00:00Z")'}})
it treats it as a literal string.
Nothing seems to work properly -- no variation I've tried.
Sigh.