Pregunta

Estoy atascado tratando de averiguar si esto es posible.

Usando el ejemplo del blog de Mongoose para demostrar, sin embargo, mi caso de uso real es un poco más complicado:

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();

Necesito crear un nuevo comentario y devolver el nuevo Comenta al cliente. Tener comentarios como documento integrado es realmente conveniente para mí y funciona bien. Sin embargo, no quiero devolver cada comentario al cliente cada vez que agrego uno nuevo.

post.comments.push({ title: 'My comment' });

Como estoy usando la mangosta si pudiera alguna forma de obtener el id del nuevo comentario que me ayudaría y también me permitiría agregar otra funcionalidad, como editar un comentario o eliminar un comentario.

¿Es la única forma de hacer esto es tener comentarios como su propia colección?

¿Fue útil?

Solución

Supongo que el problema que está tratando de resolver es cómo actualizar la página después de que un cliente publique un comentario, ¿verdad?

Entonces, estás insertando un nuevo comentario. Esto significa que ya tiene sus datos. Realice un inserto y devuelva los datos al cliente. O, mejor aún, devuelva un ACK simple, ya que el cliente también tiene datos de comentarios completos y puede representarlo por sí mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top