Как хранить записи по возрастанию по метке времени?

У меня есть следующая схема из моей базы данных

var transactionsHistorySchema = new schema({
    pointsAtThisMomentCustomer: Number, 
    notes: String,
    rate: {
        value: Number,
        notes: String,
        date: Number,
        isRated: Boolean
    },
    createdAt: {
        type: Number, default: new Date().getTime()
    }
});

Я пытаюсь получить первую транзакцию после определенной даты startDate

Что я пробовал

db.TransactionsHistory.findOne({
    createdAt: { $gte: info.startDate }
}).sort({ "createdAt": 1 }).exec(function (err, objStart) {
})

Но проблема с моим кодом в том, что ему каждый раз нужно сортировать полученные записи, потому что мангуст не хранит записи по возрастанию.

Как я могу заставить мангуста хранить записи по возрастанию на основе атрибута createAt

Вы не можете этого сделать, это не вещь. Вы должны их отсортировать.

Roco CTZ 14.01.2019 21:44

что, если результат содержит 500 записей и 1000 пользователей вызывают один и тот же API. Итак, у нас будет 1000 процессов сортировки, каждая из 500 записей. Разве это не большая трата серверных ресурсов и времени?

mahmoud310 15.01.2019 17:45

@MahmoudSaeed - это ответственность базы данных за хранение данных и управление ими. У вас нет власти на это. Если вы хотите избежать доступа к базе данных 1000 раз, вы можете добавить систему кеширования.

Yannick Loriot 15.01.2019 21:14

@MahmoudSaeed, который выполняется внутренним сервером базы данных; он уже оптимизирован.

Roco CTZ 16.01.2019 02:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
4
27
0

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