как добавить новое поле к объекту mon goose (toObject возвращает ошибку, а JSON stringify не является методом с высокой производительностью - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь добавить поле к объекту, который я получаю от 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);

есть идеи?

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