Я застреваю, пытаясь понять, возможно ли это.
Используя пример блога из mongoose, чтобы продемонстрировать, однако мой фактический прецедент немного сложнее:
var Comments = new Schema({
title : String
, body : String
, date : Date
});
var BlogPost = new Schema({
author : ObjectId
, title : String
, body : String
, date : Date
, comments : [Comments]
});
var BlogPost = mongoose.model('BlogPost');
var post = new BlogPost();
Мне нужно создать новый комментарий и вернуть новый комментарий клиенту. Наличие комментариев в качестве встроенного документа действительно удобно для меня и хорошо работает. Однако я не хочу возвращать каждый комментарий клиенту каждый раз, когда добавляю новый.
post.comments.push({ title: 'My comment' });
Поскольку я использую mongoose, если бы мог, как получить id
нового комментария, который поможет, а также позволит мне добавить другие функции, такие как редактирование комментария или удаление комментария.
Единственный способ сделать это - иметь комментарии как свою собственную коллекцию?
Я предполагаю, что проблема, которую вы пытаетесь решить, заключается в том, как обновлять страницу после того, как клиент отправляет комментарий, правильно?
Итак, вы вставляете новый комментарий. Это означает, что у вас уже есть свои данные. Выполните вставку и верните данные клиенту. Или, что еще лучше, верните простой вопрос, так как клиент также имеет полные комментарии и может отображать его сам по себе.
id
клиент не может ничего сделать с комментарием. Например, удалите его, отредактируйте и т. Д. Могу ли я получитьid
нового встроенного документа?