Я пытаюсь добавить поле к объекту, который я получаю от mon goose, чтобы я мог создать свой json для отправки клиенту. вот мой роутер:
router.get("/home/:pageNumber", async (req, res) => {
let pagination = 10;
let totalPages = await MakeUp.count();
totalPages = Math.ceil(totalPages / 10);
let posts = await MakeUp.find({}).skip(pagination * req.params.pageNumber).limit(pagination).toObject();
posts.forEach(async post => {
const user = await userService.getById(req.user.sub);
const index = user.followings.indexOf(post.authorId);
post.test = "hbkjhbvgvgvh";
// index !== -1 ? post.isFollowed = true : post.isFollowed = false;
console.log(post);
});
res.send({
totalPages: totalPages,
posts: posts
})
});
Я пытаюсь добавить тестовое поле к моему объекту сообщений. Я попытался добавить toObject в мою схему mon goose, а затем вызвать toObject в моем объекте posts, но выдает ошибку, что toObject не определен. Я могу добавить поле, если я использую json stringify, но я не хочу его использовать, потому что это дорого. вот мой мон goose модель:
const mongoose = require("mongoose");
const makeupsSchema = mongoose.Schema({
image: {
type: String,
required: true,
},
authorId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Users',
required: true
},
authorName: {
type: String,
required: true
},
authorImage: {
type: String,
required: true
},
video: {
type: String,
required: true
},
likes: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Users'
}],
comments: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Comments'
}],
tryLaters: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Users'
}],
caption: {
type: String,
max: 200
},
categories: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'MakeUPCategories'
}]
}, {
timestamps: true,
strict: true,
toObject: {
virtuals: true
},
})
module.exports = mongoose.model("MakeUps", makeupsSchema);
есть идеи?