Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-30524

dateFromParts expects "milliseconds" instead of "millisecond"

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.5.12
    • Affects Version/s: None
    • Component/s: Aggregation Framework
    • None
    • Minor Change
    • ALL

      db.foo.aggregate({$project:{milli:{$millisecond:"$date"}}})
      { "_id" : ObjectId("5984bd888a8d0117a3bbb81d"), "milli" : 0 }
      { "_id" : ObjectId("5984bd888a8d0117a3bbb81e"), "milli" : 374 }
      

      but

      db.foo.aggregate({$project:{date:{$dateFromParts:{millisecond:318,year:1970}}}})
      assert: command failed: {
      	"ok" : 0,
      	"errmsg" : "Unrecognized argument to $dateFromParts: millisecond",
      	"code" : 40518,
      	"codeName" : "Location40518"
      } : aggregate failed
      // but 
      db.foo.aggregate({$project:{date:{$dateFromParts:{milliseconds:318,year:1970}}}})
      { "_id" : ObjectId("5984bd888a8d0117a3bbb81b"), "date" : ISODate("1970-01-01T00:00:00.318Z") }
      

      And $dateToParts returns: "year" : 1975, "month" : 6, "day" : 12, "hour" : 0, "minute" : 0, "second" : 0, "millisecond" : 0

      So I think this milliseconds is a typo.

            Assignee:
            derick Derick Rethans
            Reporter:
            asya.kamsky@mongodb.com Asya Kamsky
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: