2017-06-28 4 views
0

Gibt es eine Methode, um die Zeichenfolge beim Einfügen von Daten in einen Hash von der Mongo-Befehlszeile zu transformieren? Ich möchte Kontodaten manuell eingeben und so viele Benutzer wie nötig erstellen.Ein Passwort in MongoDB einfügen

+0

Von der Shell? Gibt es einen Grund, warum du keine andere Sprache dafür verwenden kannst? Sie können ein Skript oder Programm in so ziemlich jeder gewünschten Sprache schreiben, wo Treiber verfügbar sind. –

+0

Ich kann Node.js verwenden. Tatsache ist, dass ich keine bestimmte Seite erstellen möchte, auf der sich jemand registrieren kann. @ NeilLunn –

+0

Also verwenden Sie Node.js dann. Was ist das Problem? Suchen Sie eine Bibliothek und "crypt" (was anders ist als Hash) Ihre Passwörter dann. –

Antwort

2

Wenn ich Ihr Problem richtig verstanden habe, möchten Sie einen Wert aus der Shell Hashwert. Ich habe nicht verstanden, warum Sie das brauchen, aber ich werde versuchen, Ihnen einige Möglichkeiten zu geben, das Szenario zu lösen.

Maß Lösung:

mongoDB hat Stored Procedures, dass Sie in JS schreiben können, und Sie von jedem beliebigen Kontext aufrufen können. Dies gibt Ihnen die 100% -Beteiligung, um Ihre Stored Procedure zu schreiben und sie von der Shell aus aufzurufen. In diesem Fall bin ich Aufruf "fromStringToHash" -Funktion, die ich zuvor erstellt haben ...

db.loadServerScripts(); 
db.PasswordTest.insert({"name":"Daniele", "password": "notSecure"}); 
db.PasswordTest.insert({"name":"Daniele", "password": fromStringToHash("theSecretPassword")}); 

https://docs.mongodb.com/manual/tutorial/store-javascript-function-on-server/

MD5

Wenn Sie nur einen Weg benötigen einen Hash zu berechnen, nehmen ein Blick

db.PasswordTest.insert({"name":"Daniele", "password": hex_md5("theSecretPassword")}); 

Sie können auch beide Lösungen verwenden (eine Stored Procedures, die intern hex_md5 aufrufen um frei zu sein, diese Funktion in der Zukunft zu ändern, vielleicht). Diese Funktion ist im MongoDB-Shell-Kontext verfügbar.