MongoDb - 通过NumberLong操作查找

时间:2017-08-03 08:46:11

标签: mongodb timestamp azure-cosmosdb isodate

我在mongo db中有以下示例模型数据:

watch

我想查询 timelineStart { "_id" : ObjectId("5982cd5f2801e5d848g368hw"), "startDate": NumberLong("1501747729035"), "table": { "_id" : ObjectId("3fhyi9801e5d848g368hw"), "timeWindow": 20 } } state is equal to NEW低于当前日期的所有时间线启动。

我准备了以下查询:

startDate - number of hours in timeWindow

哪个工作正常,但我想避免在where子句内部进行变量初始化。如果我在Azure Cosmos上运行此查询它不起作用,因为db.timelineStart.find({$and: [ { "status": { $eq: "NEW" }}, { $where: "var timelineStart = this.startDate;timelineStart.setHours(timelineStart.getHours() - this.table.timeWindow); timelineStart <= new ISODate()" } ] }); ,所以似乎Cosmos的语法是错误的。

您知道如何重写此查询以避免其中的变量?

0 个答案:

没有答案