Метод тяги недоступна для mongoose.schema.types.objectid []Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Метод тяги недоступна для mongoose.schema.types.objectid []

Сообщение Anonymous »

Эй, я создал модель пользователя как SO: < /p>

Код: Выделить всё

import mongoose from 'mongoose';
const Schema = mongoose.Schema;

const userSchema = new Schema(
{
email: {
type: String,
required: true,
},
password: {
type: String,
required: true,
},
name: {
type: String,
required: true,
},
status: {
type: String,
default: 'I am new!',
},
posts: [
{
type: Schema.Types.ObjectId,
ref: 'Post',
},
],
},
{ timestamps: true }
);

export const User = mongoose.model('User', userSchema);
< /code>
Я хочу использовать метод тяги, чтобы получить конкретный постид и очистить его. < /p>
export const deletePost = async (req: Request, res: Response, next: NextFunction) => {
try {
const postId = req.params.postId;
const fetchedPost = await Post.findById(postId);
if (!fetchedPost) {
const error = new HttpError("Could not find post.", 404);
return next(error);
}
if (fetchedPost.creator.toString() !== req.userId) {
const error = new HttpError("Not Authorized!", 403);
return next(error);
}
clearImage(fetchedPost.imageUrl);

await Post.findByIdAndDelete(postId);

// Clearing User and Post relation
const user = await User.findById(req.userId)!;
if (user) {
user.posts.pull(postId);
await user.save();
}

res.status(200).json({ message: "Deleted post!" });
} catch (err) {
return next(new HttpError("Failed to delete a post", 500));
}
};
< /code>
Однако я получаю ошибку от моего ts lsp
Property 'pull' does not exist on type 'ObjectId[]'.ts(2339) any

изменили вещи в мангузе, где метод тяги устарел и нужно ли мне создавать метод притяжения вручную или я делаю что -то не так?

Подробнее здесь: https://stackoverflow.com/questions/794 ... s-objectid
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»