Lorsque j'ai besoin d'écrire le résultat d'une requête mongo dans un fichier local, j'utilise généralement la fonction writeFile(pathToFile, stringContents)
fonction.
Exemple : disons que vous devez rapidement trouver l'adresse électronique de tous les utilisateurs enregistrés et l'envoyer à votre ami Jim du département marketing.
$ mongo mongodb://my-fancy-mongo-server --ssl -u fancy_username -p fancy_password
successfully connected to my-fancy-mongo-server!
> emails = db.users.distinct('email_address')
> writeFile("jims_email_list.json", tojson(emails))
ou si Jim attend un fichier CSV alors
$ mongo mongodb://my-fancy-mongo-server --ssl -u fancy_username -p fancy_password
successfully connected to my-fancy-mongo-server!
> emails = db.users.distinct('email_address')
> writeFile("jims_email_list.csv", emails.join("\n"))
Vous pouvez maintenant envoyer la liste d'emails à Jim et sauver la journée !
Les points importants à noter concernant le writeFile
fonction :
- Le deuxième argument doit être une chaîne de caractères.
- Le premier argument doit être un fichier qui n'existe pas déjà, sinon vous obtiendrez une erreur.
1 votes
Btw, si vous iterez toujours la collection entière, il est plus efficace d'utiliser mongodump. utiliser un script est plus flexible, vous pouvez faire toutes sortes de traitements avant d'imprimer les résultats.
0 votes
Plus sur mongodump