2012-02-22 23 views
5

Digamos que tengo blog con una colección de posts, y cada post tiene una colección de comments. Deseo consultar todos los comentarios para encontrar los 5 más recientes en todas las publicaciones de blog. Con un RDBMS, simplemente vaya directamente a la tabla de comentarios, clasifique por fecha y tome 5. ¿Es posible hacer algo similar dentro de Ravendb, dado que los comentarios no son la raíz agregada?Consultar colecciones secundarias dentro de un documento de Ravendb

Respuesta

2

Tiene sentido almacenar sus comentarios como documentos separados en lugar de en cada publicación; de lo contrario, terminará cargando y guardando todo el documento posterior cada vez que se agrega un comentario.

Con esto en mente sólo tendría que consultar a sus comentarios como el siguiente

session.Query<Comment>().OrderByDescending(x => x.CommentDate).Take(5) 
+0

Pensé que este sería el caso. ¿Cómo los enlace a su publicación principal? - ¿Les da un campo de clave foránea falso y luego realiza otra consulta en función de eso? – highace

+0

No estoy seguro de que puedo agregar mucho al siguiente artículo que explica las diversas opciones para crear relaciones con documentos, vea si esto ayuda http://daniellang.net/how-to-handle-relations-in-ravendb/ Probablemente agregue un La propiedad postId del comentario y el uso de Incluir sería la estrategia que elegiría para –

+0

Fantástico, muchas gracias. – highace

Cuestiones relacionadas