J'utilise MongoDB 2.2.2 sur une machine Windows7 32 bits. J'ai une requête d'agrégation complexe dans un fichier .js. Je dois exécuter ce fichier sur le shell et diriger la sortie vers un fichier CSV. Je m'assure que la requête renvoie un json "plat" (pas de clés imbriquées), de sorte qu'il est intrinsèquement convertible en un csv soigné.
Je suis au courant load()
y eval()
. eval()
m'oblige à coller la requête entière dans le shell et ne permet qu'à printjson()
à l'intérieur du script, alors que j'ai besoin de csv. Et, la deuxième façon : load()
Il imprime la sortie à l'écran, et à nouveau au format json.
Existe-t-il un moyen pour Mongo d'effectuer cette conversion de json en csv (j'ai besoin du fichier csv pour préparer des graphiques sur les données). Je pense :
1. Soit Mongo a une commande intégrée pour cela que je n'arrive pas à trouver pour le moment.
2. Mongo ne peut pas le faire pour moi ; je peux tout au plus envoyer la sortie json vers un fichier que je dois ensuite convertir moi-même en csv.
3. Mongo peut envoyer la sortie json vers une collection temporaire, dont le contenu peut être facilement mongoexported
au format csv. Mais je pense que seules les requêtes map-reduce prennent en charge les collections de sortie. Est-ce exact ? J'en ai besoin pour une requête d'agrégation.
Merci pour toute aide :)