Mongodb
Mongoose 未在結果中顯示 ISODate
我正在使用 mongodb 版本
4.2.2
。我有以下數據:
{ "_id" : ObjectId("5f0c58089c058304f7a64fa9"), "date" : ISODate("2021-07-11T00:00:00.000Z"), "dayOfWeek" : 0, "staffMember" : ObjectId("5f0c58076b559419d62efe47"), "startTime" : 885 }, /* 2 createdAt:2020-07-13T12:48:08.000Z*/ { "_id" : ObjectId("5f0c58089c058304f7a64fa8"), "date" : ISODate("2021-07-11T00:00:00.000Z"), "dayOfWeek" : 0, "staffMember" : ObjectId("5f0c58076b559419d62efe47"), "startTime" : 870 }, /* 3 createdAt:2020-07-13T12:48:08.000Z*/ { "_id" : ObjectId("5f0c58089c058304f7a64fa7"), "date" : ISODate("2021-07-11T00:00:00.000Z"), "dayOfWeek" : 0, "staffMember" : ObjectId("5f0c58076b559419d62efe47"), "startTime" : 855 }, /* 4 createdAt:2020-07-13T12:48:08.000Z*/ { "_id" : ObjectId("5f0c58089c058304f7a64fa6"), "date" : ISODate("2021-07-11T00:00:00.000Z"), "dayOfWeek" : 0, "staffMember" : ObjectId("5f0c58076b559419d62efe47"), "startTime" : 840 }
我
mongoose
在我的項目中使用。當我在節點 js 中執行此查詢時:const { memberId, date } = req.params; let isoDate = date.toISOString(); let timeSlots = await TimeSlots.find( { staffMember: memberId, date: isoDate });
結果列印在
console
:db.spaTimeSlots.find({"staffMember" : ObjectId("5f0c58076b559419d62efe47"), date: new Date("Wed, 11 Jul 2020 00:00:00 GMT")}) .projection({}) .sort({_id:-1}) .limit(100)
但是,我想要這個結果:
db.spaTimeSlots.find({"staffMember" : ObjectId("5f0c58076b559419d62efe47"), date: ISODate("2021-07-11T00:00:00.000Z")}) .projection({}) .sort({_id:-1}) .limit(100)
我希望以
ISODate
格式返回的結果,而不是文本(即不是Wed, 11 Jul
)。
您需要像這樣添加:
let date = new Date().toISOString(); let isoDate = new Date(date);
希望它有效。
ISODate
是一個mongo
shell類型,它在Node中不存在。
Date
您可以在應用程序中以任何您希望的方式格式化 JS對象。