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Таким образом, кажется, что синтаксис неверен для Космоса.

Знаете ли вы, как я могу переписать этот запрос, чтобы избежать переменных внутри него?

0 ответов

Другие вопросы по тегам