4 回答

TA貢獻1864條經(jīng)驗 獲得超2個贊
如果您保存在數(shù)據(jù)庫中的日期沒有時間(恰好是年,月,日),那應該可行。
您保存的日期可能是new Date(),其中包括時間成分。要查詢這些時間,您需要創(chuàng)建一個包含一天中所有時刻的日期范圍。
db.posts.find( //query today up to tonight
{"created_on": {"$gte": new Date(2012, 7, 14), "$lt": new Date(2012, 7, 15)}})

TA貢獻1797條經(jīng)驗 獲得超6個贊
對于使用Moment.js的我們
const moment = require('moment')
const today = moment().startOf('day')
MyModel.find({
createdAt: {
$gte: today.toDate(),
$lte: moment(today).endOf('day').toDate()
}
})
重要提示:所有時刻都是可變的!
tomorrow = today.add(1, 'days')不起作用,因為它也會突變today。調(diào)用moment(today)通過隱式克隆解決了該問題 today。

TA貢獻1816條經(jīng)驗 獲得超4個贊
你有沒有嘗試過:
db.posts.find({"created_on": {"$gte": new Date(2012, 7, 14), "$lt": new Date(2012, 7, 15)}})
您將要遇到的問題是日期在Mongo中存儲為時間戳。因此,要匹配日期,您要求它匹配時間戳。就您的情況而言,我認為您要嘗試匹配一天(即特定日期的00:00到23:59)。如果您的日期沒有時間存儲,那您就可以了。否則,如果gte不起作用,請嘗試將您的日期指定為同一天的時間范圍(例如,開始= 00:00,結束= 23:59)。
- 4 回答
- 0 關注
- 989 瀏覽
添加回答
舉報