所以我收藏了这份文件
db.person.insertOne( { name: "vincent", age: 40, alarm: {morning:new Date("2018-11-14T10:00:00Z") , night: new Date("2018-11-14T23:00:00Z")}})
我需要检查下个小时是否有警报(早晚警报)
这是我试过的
db.person.find( { "alarm.morning": { $lte: new Date(ISODate().getTime() + 1000 * 60 * 60) , $gte: new Date(ISODate().getTime() - 1000 * 60 * 60)} })
有什么帮助吗?
最佳答案
使用moment
库进行简单计算
const moment = require('moment')
const startDate = moment().toDate()
const endDate = moment().add(1, 'hours').toDate()
db.person.find({
"$or": [
{ "alarm.morning": { "$lte": endDate , "$gte": startDate }},
{ "alarm.night": { "$lte": endDate , "$gte": startDate }}
]
})
在蒙哥希尔
var startDate = new Date().toISOString()
var today = new Date()
today.setHours(today.getHours() + 1)
var endDate = today.toISOString()
db.person.find({
"$or": [
{ "alarm.morning": { "$lte": endDate , "$gte": startDate }},
{ "alarm.night": { "$lte": endDate , "$gte": startDate }}
]
})
关于mongodb - 比较mongodb中的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53324495/