【发布时间】:2017-12-19 13:12:06
【问题描述】:
我有 mongo 文档,其字段包含我使用 $currentDate 插入的日期,因此当我插入文档时该字段具有 mongo 服务器日期。 我想查询和过滤所有日期字段和服务器日期之间的差异超过10分钟的文档。
假设这个数据库:
{ "_id" : 1, "item" : "abc", "price" : 10, "fee" : 2, "discount" : 5, "date" : ISODate("2017-07-14T08:00:00Z") }
{ "_id" : 2, "item" : "jkl", "price" : 20, "fee" : 1, "discount" : 2, "date" : ISODate("2017-07-14T08:05:00Z") }
假设我将在“2017-07-14T08:10:01Z”服务器日期运行查询, 我希望查询只返回第一项。
db.items.aggregate([
{$project : {lut : {$subtract: ["** server date **", "$date" ]}}},
{$match : { lut : {$gte : 10*60*1000 }}} ]);
我在运行查询时如何获取服务器日期? 我正在从我的 nodeJS 服务器运行查询,用 new Date() 替换服务器日期将获取节点服务器的日期,而不是 mongo 服务器的日期。
【问题讨论】:
标签: node.js mongodb node-mongodb-native mongojs