Pregunta

He revisado Una pregunta más antigua Eso está relacionado con mi situación de paginación integrada. Aunque la paginación incrustada con corte funciona bien, el paginas totales Todavía falta la solución, y me pregunto si es posible obtener el tamaño total de los comentarios en el lado del servidor.

¿Hay alguna forma de consultar o contar el tamaño de la matriz incrustada en el servidor sin tener que obtener el documento completo a mi aplicación y contarlo manualmente?

No me importa hacer 2 consultas para esto, 1 para pagar el comentario, 1 para obtener el total de los comentarios. Si puedo hacer esto en una consulta, eso será increíble.

Por cierto, estoy usando el controlador Java y los datos de primavera MongoDB.

Por favor comparta sus pensamientos. Gracias !

¿Fue útil?

Solución

La mejor/más rápida forma de obtener el recuento total de documentos integrados es crear un campo adicional y recalcular el recuento después de cada actualización/inserción. El documento será así

{
  _id: 1,
  comments: [],
  commentsCount: 5
}

Entonces simplemente puedes incluir commentsCount Campo cuando se corta:

//this query will include only 10 comments _id and comments count of root document
db.articles.find({}, {comments:{$slice: [20, 10]}, _id:1, commentsCount: 1}) 

Y en realidad no hay otra forma de calcular el recuento total de documentos integrados (no estoy hablando de M/R, porque es lento para las solicitudes en tiempo real)

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