Question

Je l'ai vérifié une question plus qui est lié avec ma pagination intégrée situation. Bien que la pagination intégrée avec découpage fonctionne très bien, la solution nombre total de pages est toujours porté disparu, et je me demande s'il est possible d'obtenir la taille totale des commentaires du côté du serveur.

Y at-il un moyen de requête ou compte la taille du tableau intégré sur le serveur sans avoir à aller chercher le document entier à mon application et compter manuellement?

Je ne vous dérange pas faire 2 requêtes pour cela, 1 pour la pagination du commentaire, 1 pour obtenir le total des commentaires. Si je peux le faire dans une requête, ce sera étonnant cependant.

Par ailleurs, je suis en utilisant le pilote java et MongoDB ressort données.

S'il vous plaît partager vos pensées. Merci!

Était-ce utile?

La solution

Le meilleur / plus rapide pour obtenir le nombre total de documents intégrés est de créer un champ supplémentaire et le nombre recalcul après chaque mise à jour / insertion. Document sera comme ceci

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

Ensuite, vous pouvez simplement inclure champ commentsCount quand faire tranche:

//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}) 

Et en fait il n'y a pas d'autre façon de calculer le nombre total de documents intégrés (je ne parle pas m / r, car il est lent pour les demandes en temps réel)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top