2015-03-26 14 views
5

DBl adlı bir sözcükler ve rockyou adlı bir koleksiyonum var.Bir mongo kabuğundan bir dosya oku

123456 
12345 
123456789 
password 
iloveyou 
princess 
1234567 
rockyou 
12345678 
abc123 

Ne yapmak istiyorum benim wordlists DB toplama rockyou içine dosya rockyou içeriğinin tüm yük geçerli:

Ben içeriğiyle rockyou adlı bir dosya var. Google'da arama yapmayı denedim ancak kaynaklar mongo için zayıf görünüyor. Bu yeni benimle DB uygulaması için gerçekten bazı yardımlar ve belki de bazı iyi kaynaklar kullanabilirim.

Teşekkürler!

** DÜZENLEME * İşte benim kullandığım komut ve denediğim şeylerden bazıları. Eğer gerçekten sadece mongoshell, sen cat() command kullanabilir ve aşağıdakileri yapabilirsiniz kullanmak istiyorsanız

use wordlists 
db.createCollection("rockyou") 
db.rockyou.insert(copyFile(~/wordlists/rockyou)) 

Ben

+0

Eğer bunu artırmaya yardımcı olmak için çalıştık kodu gösterin. – mins

+0

kaynakları mongo için ince görünüyor? En popüler veritabanlarından biridir ve temel sorun üzerinde çalışmaya başlamak için kaynak bulamıyor musunuz? –

+0

Komutlarımı ekledim, ayrıca nasıl yapacağımı değil kaynakları bulabiliyorum. Bana rehberlik edebilir misin? Belki ne aradığımı bilmiyorum? Bu kabul edilebilir bir soru değil mi? Benim cehalet @SalvadorDali tarafından üzgün görünüyor. Zamanınızı boşa harcadığım için üzgünüm, ancak bu sitenin temelden guruya kadar olan sorunları ile ilgili insanlara yardım etmek olduğunu hissettim. – Dylan

cevap

13

... eklemek için başka yöntemler denedi ama şimdi daha da bu bir daha kapalı vardı fark var

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

Bu

Mongo 3.0.1 üzerinde test ve böyle bir şey üretildi:

{ "_id" : ObjectId("551491ee909f1a779b467cca"), "word" : "123456" } 
{ "_id" : ObjectId("551491ee909f1a779b467ccb"), "word" : "12345" } 
... 
{ "_id" : ObjectId("551491ee909f1a779b467cd3"), "word" : "abc123" } 
(txt benim dosya seçildi sadece nasıl olduğunu, gerekli değildir)

Ama isterim burada (python ile örneğin) uygulama mantığı:

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()}) 
+0

"Eğer kaynaklar çok yoğunsa, lütfen bana JSON biçiminde sade bir metin dosyası eklemenin nasıl bir link verdiğine ve ben size bütün saygınlık puanlarımı vereceğim." <- Bu bir bağlantı değildi, ancak onları size vermekten hala mutluyum. İki günde bir ödül oluşturmanın yanı sıra, şimdi size bunları nasıl vereceğim? – Dylan

+0

@Dylan Bir bağlantı ekledim. Bütçe bildiğim tek seçenek, ama gerçeği söylemek zorunlu değil. Bunu sadece eğlence için yazdım.Eğer mongoshell'i kullanmanız gerektiğine karar verirseniz (eğer herhangi bir şeyi kullanabiliyorsanız, problem dümdüz ilerliyorsa, ama mongoshell ile çözümü bulmak daha zordur), sorunuz çok daha iyi olur. –

+0

lol Bu bilgileri dahil etmek için sorumu düzenleyeceğim. Bu yöntem benim büyük dosyamda çalışmaz, bu yüzden diğer seçeneklere bakacağım, sadece kabuğu kullanarak sıkışıp kalmıyorum. Tahmin ettiğim, pymongo gibi bahsettiğin bu uygulama soyutlamalarından birine bakacağım. Teşekkürler ve 2 gün içinde lütuf yaratacağım ve size cevap verebilmeniz için size bildiririm ve size verebilirim;) Yapacağımı söyledim! – Dylan