Кто-нибудь знает, как заполнить отсортированную коллекцию документов в MongoDB?
Я пробовал много решений, но безуспешно.
Итак, это моя схема комментариев:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const CommentSchema = new Schema(
{
recipe: {
type: Schema.Types.ObjectId,
ref: "recipe"
},
content: {
type: String,
required: true
},
date: {
type: Date,
required: true
}
},
{ collection: "comment" }
);
const Comment = mongoose.model("comment", CommentSchema);
module.exports = Comment;
Это мой распознаватель:
const recipeUpdated = await Recipe.findOneAndUpdate(
{ _id: recipeId },
{
$push: {
comments: { commentator: user, comment: comment, rate: rate }
}
},
{ new: true }
)
.populate([
{ path: "author", model: User },
{ path: "comments.commentator", model: User },
{ path: "comments.comment", model: Comment }, // --> I'd like to populate this collection sorted by date field
{ path: "comments.rate", model: Rate }
])
.exec();
Я пытался:
{ path: "comments.comment", model: Comment, options: { sort: { date: -1 } } }
Но все равно не работает ...
Есть предложения?
Thx.