Documentation Request Summary:
No documentation summary in engineering ticket
Engineering Ticket Description:
A couple string expressions (notably in $substr(Bytes) and $concat) support dates as inputs, but do not include the number of milliseconds:
> db.foo.insert({x: new Date()})
|
WriteResult({ "nInserted" : 1 })
|
> db.foo.find()
|
{ "_id" : ObjectId("56fae3003ef38a5ce210b230"), "x" : ISODate("2016-03-29T20:18:08.339Z") }
|
> db.foo.aggregate({$project: {x: {$substr: ["$x", 0, 200]}}})
|
{ "_id" : ObjectId("56fae3003ef38a5ce210b230"), "x" : "2016-03-29T20:18:08" }
|
We should either fix these places to include the number of milliseconds, or remove support for using these expressions with date types.
One possible way forward is to add a $toString expression (related to SERVER-11400), then remove support and require an explicit conversion instead.
|