Использование предложения "Заполнить где" и сортировки схемы - PullRequest
0 голосов
/ 11 июля 2020

У меня есть пользователь shcema

let UserSchema = new Schema({
  firstName: { type: String },
  lastName: { type: String },
  email: { type: String, required: true }
  files: [{ type: Schema.ObjectId, ref: "File", index: true }]
});

, а также файл shcmea

let FileSchema = new Schema({
    fileName: { type: String, required: true },
    user: { type: Schema.ObjectId, ref: 'User', index: true },
    featured: { type: Boolean, default: false },
   
    timeStampCreate: { type: Date, default: new Date() }
});

Я хочу сделать запрос mon goose, где мне нужны все файлы с указанием: true а затем нужно отсортировать по имени и фамилии

let userDetails = await User.find({})
        .skip(skip)
        .limit(limit)
        .populate({
          path: 'files',
          options: {
            limit: 1,
            match: {
              featured: true
            }
          },
        })
        .sort({
          firstName: 1,
          lastName: 1,
        }).exec();

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

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