мангуста пагинат для вложенной ассоциации - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть схема пользователя, и у каждого пользователя есть несколько сообщений, я пытаюсь разбить на страницы сообщения, используя mongoose-paginate-2.Я не знаю, как разбивать сообщения на страницы.

Схема чата:

  const mongoose = require("mongoose");
  const Schema = mongoose.Schema;

  const ChatGroupSchema = new Schema({
  name: {
    type: String,
    required: true
  },
  users: [
    {
      type: Schema.Types.ObjectId,
      ref: "user"
    }
  ],
  messages: [
    {
      type: Schema.Types.ObjectId,
      ref: "message"
    }
  ]
});

const ChatGroupModel = mongoose.model("chatGroup", ChatGroupSchema);

Схема сообщения:

const mongoose = require("mongoose");
var mongoosePaginate = require("mongoose-paginate-v2");

const Schema = mongoose.Schema;

const MessageSchema = new Schema({
  to: {
    type: Schema.Types.ObjectId,
    ref: "chatGroup"
  },
  from: {
    type: Schema.Types.ObjectId,
    ref: "user"
  },
  message: {
    type: String
  },
  createdAt: {
    type: Date,
    default: Date.now
  }
});

MessageSchema.plugin(mongoosePaginate);

const MessageModel = mongoose.model("message", MessageSchema);

И вот мой запрос

ChatGroupModel.findOne({ _id: _id })
    .populate({
      path: "message",
      options: {
        offset: 1,
        limit: 10,
        sort: { createdAt: -1 }
      },
      populate: [
        {
          path: "to",
          model: "chatGroup"
        },
        {
          path: "from",
          model: "user"
        }
      ]
    });

В настоящее время я могу получитьсообщений на чат-группу, но я хочу, чтобы сообщения были разбиты на страницы.Пожалуйста, помогите: D

...