Heim >Backend-Entwicklung >PHP-Tutorial >Zusammenfassung der MongoDB-Tipps und Vorsichtsmaßnahmen
Mongodb, eine verteilte Dokumentenspeicherdatenbank, die in der Sprache C++ geschrieben ist, zielt darauf ab, skalierbare, leistungsstarke Datenspeicherlösungen für WEB-Anwendungen bereitzustellen. MongoDB ist eine leistungsstarke, schemalose Open-Source-Dokumentendatenbank, die derzeit eine beliebte NoSQL-Datenbank ist. In diesem Artikel werden Ihnen die Lösungstechniken für Probleme vorgestellt, die bei der Verwendung von MongoDB auftreten, und diese zu Referenz- und Lernzwecken weitergeben.
1. Suchen Sie Datensätze, deren Array-Felder nicht leer sind.
Suchen Sie Datensätze, deren Array-Felder in den Daten nicht leer sind.
Zum Beispiel: Es gibt das folgende Mongo-Dokument:
{ "id" : "581c060f2b436c05aafb1632", "commit_history" : [ "581c20d52b436c05aafb1633", "581c21c12b436c05aafb1634" ] }, { "id" : "581c060f2b436c05aafb1633", "commit_history" : [] }
Wenn Sie Datensätze finden möchten, deren commit_history nicht leer ist, gibt es die folgenden Methoden:
Methode 1: db.collection .find({commit_history: {$not: {$size: 0}}})
Methode 2: db.collection.find({'commit_history.0': {$exists: 1}})
2. Einen Benutzer zu MongoDB hinzufügen
Um einen Benutzer zu einer Sammlung in MongoDB hinzuzufügen, können Sie Folgendes tun:
Verwenden Sie den Sammlungsnamen um zu einer Bibliothek zu wechseln
db.createUser( { user: "collection_name", pwd: "password", roles: [ "readWrite", "dbAdmin" ] } )
3. Manchmal ist es notwendig, die Spalte des angegebenen Feldes zu löschen und den Aktualisierungsvorgang zu verwenden.
Um beispielsweise die Namensspalte zu löschen:
JSON abfragen:
{"name":{$exists:true}}
JSON aktualisieren:
{$unset:{"name":""}}
4. Datenexport: Führen Sie den Befehl mongoexport im bin-Verzeichnis von mongodb aus und legen Sie die relevanten Parameter fest.
Beispiel:
./mongoexport -h 192.168.0.201 --port 27017 –d admin –u admin –p admin -c department -o /home/admin/department.dat
-h: Geben Sie die IP der zu verbindenden Datenbank an
- -port: Geben Sie den Port der zu verbindenden Datenbank an;
-u: Geben Sie den Benutzernamen der zu verbindenden Datenbank an;
-p: Geben Sie an Benutzerpasswort der zu verbindenden Datenbank;
-d: Geben Sie den Namen der zu verbindenden Bibliothek an
-c: Geben Sie den zu exportierenden Datensatz an; o: Geben Sie die Zielspeicheradresse der zu exportierenden Daten an;
Hinweis: (1) Es muss sichergestellt werden, dass die verbundene Datenbank im Normalbetrieb ist
(2) Ich bin einmal auf eine Situation gestoßen, in der Benutzerinformationen zur Datenbank hinzugefügt wurden und diese beim Start nicht mit Benutzerauthentifizierung gestartet wurde. Beim Ausführen dieses Befehls war der Export jedoch erfolgreich . Wenn jemand auf eine ähnliche Situation stößt, können Sie es genauso gut versuchen.
5. Datenimport, führen Sie den Befehl mongoimport im bin-Verzeichnis von mongodb aus und legen Sie die relevanten Parameter fest. Die Parametererklärung ist die gleiche wie oben
Zum Beispiel:
./mongoimport --port 27017 -d admin -u admin –p admin –c department /home/common/mongodb305/bin/department.dat
6. Probleme bei der Benutzerüberprüfung für Nicht-AMDIN-Datenbanken:
Wenn wir Benutzer zur Bibliothek in der Mongodb-Datenbank hinzufügen, können wir die folgenden Befehle verwenden in der Zieldatenbank beispielsweise in der MongoTest-Bibliothek hinzufügen Ein Benutzer mit Lese- und Schreibberechtigungen:
db.createUser({"user":"test","pwd":"123456","roles":["readWrite"]})
kann auch in der Admin-Datenbank hinzugefügt werden:
db.createUser({"user":"test","pwd":"123456","roles":[{"role":"readWrite","db":"test"},"readWrite"]})
Es sollte beachtet werden, dass es einen Unterschied zwischen diesen beiden Methoden gibt, und dieser Unterschied hat mich einmal getäuscht:
Bei der Verwendung der ersten Zum Hinzufügen der Methode können wir sie im bin-Verzeichnis von mongodb hinzufügen. Führen Sie den folgenden Befehl direkt aus, um die Testdatenbank aufzurufen. Sie können diesen Benutzer hinzufügen, löschen, ändern und überprüfen Der Name und das Passwort sind in mongoVUE verbunden:
./mongo -h 192.168.0.201 --port 27017 -u test -p 123456 -d test
Aber wenn es auf die zweite Art erstellt wird und Sie den obigen Befehl direkt verwenden, wird dies angezeigt Die Überprüfung ist nur dann fehlgeschlagen, wenn Sie zuerst mongo eingeben
Die Shell wird mit der Admin-Datenbank verbunden und kann dann beim Wechsel zur Testdatenbank überprüft werden. Dies ist eine kleine Gefahr. Wer die Situation nicht kennt, ist vielleicht sehr verwirrt. Es ist klar, dass der Benutzername und das Passwort in Ordnung sind, aber aus irgendeinem Grund kann keine Verbindung hergestellt werden.
7. Die Standard-Datenspeichermethode von mongodb3.0 ist immer noch die gleiche wie die von mongodb 2.6. Ich habe versucht, beim Start auf die neue Speichermethode umzusteigen dass keine Daten in der Datenbank vorhanden sein müssen. Dies ist nur möglich, wenn die Daten erforderlich sind, andernfalls wird ein Fehler gemeldet:
Verschiedene andere Parameter für den Start, wie z. B. dbpath, logpath usw ., werden in mongodb.conf konfiguriert../mongod -f /mongodb304/conf/mongodb.conf --storageEngine wiredTiger
Der obige Inhalt ist eine Zusammenfassung der Tipps und Vorsichtsmaßnahmen für den täglichen Gebrauch von MongoDB. Ich hoffe, dass er allen helfen kann.
Verwandte Empfehlungen:
Was ist die MongoDB-Datenbank?Wie phpstudy MongoDB erweitert So verbessern Sie die Sicherheit von MongoDBDas obige ist der detaillierte Inhalt vonZusammenfassung der MongoDB-Tipps und Vorsichtsmaßnahmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!