This is a bit confusing, but what's happening is that res3 is call
toString on the object which gets output as json.
json doesn't have a date type, so its outputting as a string.
but the value stored in the db is the Date type which is milliseconds from epoc
so the output is misleading, but it should be storing correctly.
you can call .getClass() on "date" after a findOne() to prove it to yourself