const queryMatch = {departureDate: {$gte: new Date(query.departureDateMin),$lte: new Date(query.departureDateMax)}};
const flightsByCriteria = await this.flightModel.find(queryMatch).exec();
上述請求回傳一個空表。然而我使用 mongodbCompass 獲取資料, ISODate(dateString) 而不是new Date(dateString)
我不知道我的請求問題出在哪里?感謝您的幫助。
uj5u.com熱心網友回復:
您應該以 ISO 格式從客戶端發送日期,這樣服務器就不會將它們轉換為服務器本地時間。
當您從客戶端發送日期時,您可以使用呼叫.toISOString()方法發送它們:
{
departureDateMin: new Date(departureDateMin).toISOString(),
departureDateMax: new Date(departureDateMax).toISOString(),
}
然后,您可以像這樣查詢資料庫:
const queryMatch = {
departureDate: {
$gte: query.departureDateMin,
$lte: query.departureDateMax,
}
};
uj5u.com熱心網友回復:
model.find({
departureDate: {
$gte: new Date(query.departureDateMin),
$lte: new Date(query.departureDateMax),
},
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/522558.html
上一篇:在資料框中將日期拆分為2列
