@Xuski

Хочу понять как можно сделать два или несколько одинаковых objectId в MongoDB?

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

app.post(
"/posts/:id/comments",
CheckAuth,
CommentsValidation,
CommentController.createComments
);

import mongoose from "mongoose";

const CommentsModal = new mongoose.Schema({
text: {
type: String,
required: true,
unique: false,
},
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
},
post: {
type: mongoose.Schema.Types.ObjectId,
unique: false,
ref: 'Post'
}
})

export default mongoose.model('Comments', CommentsModal)

import CommentsModal from "../models/Comments.js";
import jwt from "jsonwebtoken";

export const createComments = async (req, res) => {
try {
const replacePosts = req.path.replace(/\/posts\//, "");
const replacePostComments = replacePosts.replace(/\/comments/, "");
const doc = new CommentsModal({
user: req.userId,
text: req.body.text,
post: replacePostComments,
});

const comments = await doc.save();
res.json(comments);
} catch (err) {
console.log(err);
res.status(500).json({
message: "Не удалось получить коментарий",
});
}
};
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
Alex_mos
@Alex_mos
Google всему голова
Не совсем понятно что именно вы хотите, но вроде как objectId уникальный и зачем их делать одинаковыми.
Может удобнее будет создавать пост с objectId, а в схеме комментариев присваивать objectId(поста) какому нибудь ключю _id к примеру. И получится что каждый комментарии будет хранить objectId поста к которому он относиться. Как то так)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы