MongoDb - поиск по операции NumberLong
У меня есть следующие примерные данные модели в моей базе данных mongo:
timelineStart {
"_id" : ObjectId("5982cd5f2801e5d848g368hw"),
"startDate": NumberLong("1501747729035"),
"table": {
"_id" : ObjectId("3fhyi9801e5d848g368hw"),
"timeWindow": 20
}
}
и я хотел бы запросить все timelineStarts, где state is equal to NEW
а также startDate - number of hours in timeWindow
ниже текущей даты.
Я подготовил следующий запрос:
db.timelineStart.find({$and: [
{ "status": { $eq: "NEW" }},
{ $where: "var timelineStart = this.startDate;timelineStart.setHours(timelineStart.getHours() - this.table.timeWindow); timelineStart <= new ISODate()" }
]
});
Что работает нормально, но я бы хотел избежать инициализации переменных внутри предложения where. Если я выполню этот запрос в Azure Cosmos, он не будет работать, потому что request is malformed
Таким образом, кажется, что синтаксис неверен для Космоса.
Знаете ли вы, как я могу переписать этот запрос, чтобы избежать переменных внутри него?