Si vous voulez vraiment utiliser uniquement mongoshell, vous pouvez utiliser la commande cat() et faites ce qui suit (txt n'est pas nécessaire, c'est juste comment mon fichier a été nommé):
use wordlists
var file = cat('path/to/yourFile.txt'); // read the file
var words = file.split('\n'); // create an array of words
for (var i = 0, l = words.length; i < l; i++){ // for every word insert it in the collection
db.rockyou.insert({'word': words[i]});
}
Cela a été testé sur Mongo 3.0.1 et a produit quelque chose comme :
{ "_id" : ObjectId("551491ee909f1a779b467cca"), "word" : "123456" }
{ "_id" : ObjectId("551491ee909f1a779b467ccb"), "word" : "12345" }
...
{ "_id" : ObjectId("551491ee909f1a779b467cd3"), "word" : "abc123" }
Mais j'introduireais ici une logique d'application (par exemple avec python) :
import pymongo
connection = pymongo.Connection()
collection = connection.wordlists.rockyou
with open('path/to/yourFile.txt') as f:
for word in f.readlines():
collection.insert({'word': word.rstrip()})