mongoose-dateonly

1.0.6 • Public • Published

Build Status

About

This is an implementation of the DateOnly library that works with Mongoose. This allows you to save dates in Mongo without having to worry about time zones shifting the date.

Usage

var mongoose = require('mongoose');
var DateOnly = require('mongoose-dateonly')(mongoose);
 
var PersonSchema = {
  birthday: DateOnly
};
 
...
 
var p1 = new Person({ birthday: '4/7/1995' });
var p2 = new Person({ birthday: new Date('4/7/1995') });
var p3 = new Person({ birthday: new DateOnly('4/7/1995') });

In Mongo, the values above would all be stored as 19950307. Because they're not stored as conventional Date objects, they are not subject to time zone shifts. In other words, no matter what time zone a user is in, this date will always be 4/7/1995.

The DateOnly data type supports all of the query conditions you would expect it to:

Person.find({ birthday: '4/7/1995' });
Person.find({ birthday: { $lt: Date.now() } });
Person.find({ birthday: { $in: [ '1/1/2000', new Date('1/1/2010'), new DateOnly()]}})

For full implementation details on the DateOnly data type, please see the documentation on the DateOnly GitHub repo.

Test

npm test

Package Sidebar

Install

npm i mongoose-dateonly

Weekly Downloads

521

Version

1.0.6

License

Apache v2

Unpacked Size

29.2 kB

Total Files

8

Last publish

Collaborators

  • boblauer