sql >> Database teknologi >  >> NoSQL >> MongoDB

Læs en fil fra en mongo-skal

Hvis du virkelig kun vil bruge mongoshell, kan du bruge cat() kommando og gør følgende (txt er ikke nødvendigt, det er bare sådan min fil blev navngivet):

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]}); 
}

Dette blev testet på Mongo 3.0.1 og producerede noget som:

{ "_id" : ObjectId("551491ee909f1a779b467cca"), "word" : "123456" }
{ "_id" : ObjectId("551491ee909f1a779b467ccb"), "word" : "12345" }
...
{ "_id" : ObjectId("551491ee909f1a779b467cd3"), "word" : "abc123" }

Men jeg vil introducere en applikationslogik her (for eksempel med 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()})



  1. Indeks eksisterer allerede med forskellige valgmuligheder, mens du bruger createIndex() i den nyeste MongoDB java-driver

  2. Sideinddeling på array gemt i et dokumentfelt

  3. pushOrModify som operatør for mongo underdokument

  4. Brug $strLenCP med Spring Data MongoDB