如何在 MongoDB 中過濾特定日期格式的查詢?
要根據具體日期格式過濾查詢,請使用 $dateToString。讓我們建立一個包含文件的集合 −
> db.demo433.insertOne({"DueDate":new Date("2019-11-23")});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e771278bbc41e36cc3cae91")
}
> db.demo433.insertOne({"DueDate":new Date("2020-01-03")});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e771290bbc41e36cc3cae92")
}在集合中顯示所有文件,這需要藉助於 find() 方法 −
> db.demo433.find();
這樣將會產生以下輸出 −
{ "_id" : ObjectId("5e771278bbc41e36cc3cae91"), "DueDate" : ISODate("2019-11-23T00:00:00Z") }
{ "_id" : ObjectId("5e771290bbc41e36cc3cae92"), "DueDate" : ISODate("2020-01-03T00:00:00Z") }這是在 MongoDB 中根據具體日期格式過濾查詢 −
> db.demo433.aggregate([
... { $addFields: {stringDate: { $dateToString: { format: "%Y-%m-%d", date: "$DueDate" } } } },
... { $match: {"stringDate":"2020-01-03"}},
... { $project:{"stringDate":0}}
... ])這樣將會產生以下輸出 −
{ "_id" : ObjectId("5e771290bbc41e36cc3cae92"), "DueDate" : ISODate("2020-01-03T00:00:00Z") }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP