J'utilise Morphia pour accéder à mongoDB. J'ai besoin d'obtenir une liste d'objets par la longueur du tableau interne. Est-ce que quelqu'un a une idée de comment cela peut être fait sans avoir toute la collection à Java et le trier là?Comment puis-je trier les résultats de la requête MongoDB par taille de tableau interne?
Répondre
OK Je l'ai trouvé :-)
dataStore.find(MyClass.class).order("-inner_array.length").asList();
le tour est joué.
Vous devez créer un champ supplémentaire avec une taille de tableau imbriquée et utiliser $inc pour mettre à jour ce champ.
Vous pouvez également utiliser $where, mais très lent.
Recherche Vous par la longueur du tableau imbriqué comme ceci:
db.coll.find({ $where: "this.nestedArray.length > 3" });
Mais comme je l'ai dit mieux pour créer un champ supplémentaire.
Merci Andrew, mais ce n'est pas ce que je cherche. J'utilise Morphia comme mappeur POJO, donc je ne veux pas ajouter de champs non pertinents. de toute façon tous les tableaux javascript ont une propriété de longueur. Je me demande s'il existe un moyen de l'utiliser dans une requête. – tsinik
Non, il n'y a aucun moyen de faire cela; il n'y a pas de support pour le tri par une fonction et il n'y a pas de champ synthétique qui soit la longueur du tableau. Cela signifie que pour l'instant vous devez stocker un nombre si vous voulez l'incorporer et le trier. Faites attention à la manière dont vous le mettez à jour. –
par exemple:
source de données tmb_results_by_tissue_other:
{"base_info":[1,2,3],"type":"123"},
{"base_info":[2,3,4,5],"type":"123"},
par agrégat
db.tmb_results_by_tissue_other.aggregate([{$project:{"type":1, num:{$size:"$base_info"}}},{$sort:{"num":-1}}])
- 1. Interrogation taille du tableau interne MongoDB
- 2. Requête MongoDB: possible de trier par une liste de valeurs?
- 3. Commande de collection MongoDB par taille de tableau imbriqué
- 4. Mongodb: trier les documents par objets de tableau
- 5. Trier les lignes de résultats de requête par index?
- 6. MongoDB Trier tableau
- 7. Comment trier les résultats par longueur de la chaîne sur MongoDB
- 8. Comment faire pour trier les résultats de requête mongodb basé sur des sous-documents
- 9. Comment trier les résultats d'une requête IndexedDB?
- 10. Comment trier un tableau de résultat de la requête
- 11. Comment trier la liste interne retournée par l'infrastructure de l'entité?
- 12. Trier NSArray par les résultats de la méthode de l'objet
- 13. comment trier un tableau multidimensionnel par une clé interne
- 14. mongoDB trier par pourcentage
- 15. pymongo trier les résultats regroupés
- 16. Recherche et trier les résultats de la requête comparer après
- 17. EJBQL - Comment trier les résultats de la requête par un champ LEFT JOIN
- 18. Trier par terme non jeu de résultats
- 19. Trier les données dans le sous-tableau dans mongodb
- 20. Comment trier les résultats de recherche par pertinence?
- 21. MongoDB implémentation d'un tableau de taille fixe
- 22. Trier plusieurs résultats de la requête dans une seule requête
- 23. wordpress trier les résultats de la recherche par date
- 24. résultats Trier par nombre de cette ligne
- 25. MySQL Trier par Nombre de résultats
- 26. Trier les résultats d'une requête en utilisant les résultats d'une autre requête
- 27. Trier les résultats de la requête par ordre alphabétique, mais exclure "le" dans le tri?
- 28. trier un tableau de taille n
- 29. Comment trier les résultats de tables jointes?
- 30. Trier la valeur dans Mongodb
Je suis sûr que cette requête ne fonctionne pas réellement. Il peut s'exécuter sans donner d'erreur, mais quand j'essaie quelque chose de similaire dans le shell mongo, rien n'est vraiment trié. –
Ne fonctionne pas ... – Antoine