Come restituire l'ultima spinta () documento incorporato
-
26-10-2019 - |
Domanda
Sono bloccato cercando di capire se questo è possibile.
Utilizzando l'esempio blog da mangusta per dimostrare, tuttavia il mio caso uso effettivo è leggermente più complicato:
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();
Ho bisogno di creare un nuovo commento e restituire il nuovo Commento al cliente. Avendo commenti come documento incorporato è davvero comodo per me e funziona bene. Comunque io non voglio tornare ogni singolo commento al cliente ogni volta aggiungo uno nuovo.
post.comments.push({ title: 'My comment' });
Come sto utilizzando mangusta se potessi in qualche modo ottenere il id
del nuovo commento che avrebbe aiutato e anche mi permetta di aggiungere altre funzionalità come ad esempio la modifica di un commento o eliminare un commento.
E 'l'unico modo per farlo è quello di avere commenti come la propria collezione?
Soluzione
Credo che il problema si sta cercando di risolvere è quello di come aggiornare la pagina dopo i messaggi client un commento, giusto?
Quindi, si sta inserendo un nuovo commento. Questo significa che si hanno già i propri dati. Eseguire un inserto e restituire i dati al client. O, meglio ancora, restituire un semplice ACK, in quanto cliente ha anche dati completi di commento e può renderlo di per sé.