J'essaie de trier les valeurs après l'exécution d'une recherche sur mon API MongoDB by Java. La liste des résultats contient les entrées suivantes:MongoDB, Java, tri par première entrée de tableau
{
"_id": "P17-223",
"property": "P17",
"itemid": 223,
"labels": [
{
"language": "en",
"value": "Greenland"
},
{
"language": "es",
"value": "Groenlandia"
},
{
"language": "de",
"value": "Grönland"
}
]
}
Je veux trier par la première entrée du tableau étiquettes:
DBCursor cursor = getCollection().find(query);
BasicDBObject orderBy = new BasicDBObject("labels[0].value", 1);
cursor.sort(orderBy);
valeurs du curseur ne sont pas triés par ce code . Pouvez-vous m'aider?
Il pourrait être beaucoup plus facile de régler ce problème dans le code Java que sur la couche MongoDB. Est-ce que cela vous convient, ou insistez-vous pour le trier dans la base de données? – Philipp
Le tri en Java est correct, sauf si vous avez besoin d'interroger un grand nombre de documents – injecteer
Avez-vous essayé BasicDBObject orderBy = new BasicDBObject ("labels.0.value", 1); – Mike