从 MongoDB 中的 ISODate 获取月份、日期、年份等?
mongo shell提供了多种方法,比如ISODate(),用以返回日期,作为字符串或日期对象返回。ISODate()构造器使用ISODate()包装器返回一个日期对象。
让我们创建一个包含文档的集合 -
> db.demo548.insertOne({"dueDate":new ISODate("2020-04-09 12:12:40")});{ "acknowledged" : true, "insertedId" : ObjectId("5e8e30499e5f92834d7f05de") }
在集合中使用find()方法显示所有文档 -
> db.demo548.find();
这将产生以下输出 -
{ "_id" : ObjectId("5e8e30499e5f92834d7f05de"), "dueDate" : ISODate("2020-04- 09T12:12:40Z") }
以下是显示从ISODate获取的月份、日期、星期、年份等的查询 -
> db.demo548.aggregate( [ { $project: { Year: { $year: "$dueDate" }, Month: { $month: "$dueDate" }, Day: { $dayOfMonth: "$dueDate" }, Hour: { $hour: "$dueDate" }, Minutes: { $minute: "$dueDate" }, Seconds: { $second: "$dueDate" }, Milliseconds: { $millisecond: "$dueDate" }, DayOfYear: { $dayOfYear: "$dueDate" }, DayOfWeek: { $dayOfWeek: "$dueDate" }, Week: { $week: "$dueDate" } } } ] ).pretty();
这将产生以下输出 -
{ "_id" : ObjectId("5e8e30499e5f92834d7f05de"), "Year" : 2020, "Month" : 4, "Day" : 9, "Hour" : 12, "Minutes" : 12, "Seconds" : 40, "Milliseconds" : 0, "DayOfYear" : 100, "DayOfWeek" : 5, "Week" : 14 }
广告