pyAggr3g470r: transition vers MongoDB

Depuis l’annonce du passage de pyAggr3g470r à MongoDB je n’ai pas malheureusement pas vraiment pu beaucoup avancer. Toutefois les fonctionalités de base sont déjà opérationnelles. J’utilise quotidiennement la nouvelle version tout en continuant à tenir la base de données SQLite de l’ancienne version à jour. Cela n’est maintenant plus nécessaire.

Je viens donc d’écrire un petit script permettant d’importer l’ancienne base utilisant SQLite vers la nouvelle base MongoDB. Pas de quoi fouetter un chat. Cependant cet exercice fût très intéressant pour tester le code que j’ai déjà écrit ainsi que les performances de MongoDB. La différence avec SQLite est édifiante: avec une base d’environ 30.000 articles je peux marquer environ 250 articles “comme lus” de manière quasi instantannée. Et ma classe de gestion de la base MongoDB est forcément améliorable.
Côté code, rien à signaler. La transition ne pose aucun problème, les articles et métadonnées sont bien importés.

À savoir: si un jour vous utilisez MongoDB avec beaucoup de données, faites attention au problème: too much data for sort() with no index error. Ce problème apparaît en utilisant la méthode sort() sur un curseur, comme ici. La solution consiste simplement à créer un index.

Et voilà, un peu plus de 30.000 articles dans une base MongoDB toute neuve!