做一个范围来知道它是当前的,过去的还是未来的事件猫鼬
Make a range to know if it's current, is past or is futur event mongoose
我有一个 event
集合,其中包含一些属性,特别是 start
和 end
,它们是日期。
我怎么知道查询是过去的、现在的还是将来的?
有人有想法吗?我被这个问题困扰了 1 天...
谢谢
您是要查找未来、过去或现在的事件吗?或者您是否试图找出您正在查询的事件是过去的、现在的还是未来的?
如果是第一个,在查询中使用 $gt、$gte、$lt 或 $lte 运算符就相当简单了。
var now = new Date()
// future events:
db.events.find({start: {$gt: now}});
// current events:
db.events.find({start: {$lte: now}, end: {gte: new Date()}});
// past events
db.events.find({end: {lt: now}});
MongoDB 允许与日期进行比较。
如果是后者,您将需要找到您的事件,然后在您的代码中解析日期。
此外,请确保为您的 end/start 日期设置索引,以确保快速查找:
db.events.ensureIndex({start: 1});
db.events.ensureIndex({end: 1});
我有一个 event
集合,其中包含一些属性,特别是 start
和 end
,它们是日期。
我怎么知道查询是过去的、现在的还是将来的?
有人有想法吗?我被这个问题困扰了 1 天...
谢谢
您是要查找未来、过去或现在的事件吗?或者您是否试图找出您正在查询的事件是过去的、现在的还是未来的?
如果是第一个,在查询中使用 $gt、$gte、$lt 或 $lte 运算符就相当简单了。
var now = new Date()
// future events:
db.events.find({start: {$gt: now}});
// current events:
db.events.find({start: {$lte: now}, end: {gte: new Date()}});
// past events
db.events.find({end: {lt: now}});
MongoDB 允许与日期进行比较。
如果是后者,您将需要找到您的事件,然后在您的代码中解析日期。
此外,请确保为您的 end/start 日期设置索引,以确保快速查找:
db.events.ensureIndex({start: 1});
db.events.ensureIndex({end: 1});