Aktualisierung des MongoDB-Dokuments (PHP-Codebeispiel)
MongoDB-Aktualisierungsdokumente sind in zwei Kategorien unterteilt:
Dokumentenersetzung, altes Dokument vollständig durch ein neues Dokument ersetzen
Modifikator, einige Dokumente ändern
Dokumentenersetzung
Dokumentenersetzung verwenden Es ist ganz einfach, schauen wir uns die Demo an:
$collect->insertOne(['name' => 'lakers', 'nums'=> 16]); $collect->replaceOne( ['name'=>'lakers'], ['name' => 'heat', 'nums'=>3] );
Verwenden Sie Modifikatoren, um komplexere Aktualisierungsvorgänge durchzuführen, wie zum Beispiel das Ändern, Hinzufügen oder Löschen von Schlüsseln.
Modifikator „$set“
„$set“ wird verwendet, um den Wert eines Feldes anzugeben. Wenn dieses Feld nicht vorhanden ist, erstellen Sie es.
$collect->insertOne([ 'name' => 'james', 'age' => 35, ]); $collect->updateOne(['name'=>'james'], ['$set' => ['fruit' => 'apple']] ); // fruit字段不存在,则会创建该字段
Wenn Ihnen Apfel jetzt nicht gefällt und Sie zu Erdbeere wechseln möchten
$collect->updateOne(['name'=>'james'], ['$set' => ['fruit' => 'strawberry']] );
„$set“ kann auch den Schlüsseltyp ändern. „$set“ kann auch eingebettete Dokumente ändern der Wert
Gleiche wie der Modifikator „$set“. Wenn das Feld nicht vorhanden ist, wird es automatisch erstellt. Hinweis: Dieser Feldwert kann nur Zahlen sein. # 不止喜欢草莓,还喜欢梨子、香蕉。
$collect->updateOne(['name'=>'james'],
['$set' =>
['fruit' =>
['strawberry', 'banana', 'pear']
]
]
);
$collect->insertOne([
'name' => 'james',
'age' => 35,
'brothers' => ['name' => 'wade', 'age'=> 38]
]);
$collect->updateOne(['name'=>'james'],
['$set' =>
['brothers.name' => 'paul']
]
);
$collect->updateOne(['name'=>'james'], ['$unset' => ['brothers' => ''] ] );
Array-ModifikatorMongoDB bietet spezielle Modifikationsmethoden für Arrays.
„$push“ fügt Elemente hinzu
„$push“ kann Elemente zum Array hinzufügen. Wenn das Array nicht vorhanden ist, wird das Array automatisch erstellt. Es gibt jetzt ein Dokument zum Speichern von Artikeldaten: $collect->updateOne(['name'=>'james'],
['$inc' =>
['scores' => 61]
]
);
## 现有积分61
'$push' kann Elemente gleichzeitig anordnen. Wenn Sie mehrere Elemente gleichzeitig hinzufügen möchten, müssen Sie dies tun verwenden Sie es zusammen' $each'. $collect->updateOne(['name'=>'james'],
['$inc' =>
['scores' => 10]
]
);
## 现有积分71
'$push' und '$slicet' werden zusammen verwendet, um die neuesten n Datenstücke beizubehalten. Der Wert von '$slice' kann nur eine negative ganze Zahl sein . Ich möchte zum Beispiel nur die letzten 3 Kommentare behalten: $collect->updateOne(['name'=>'james'],
['$inc' =>['scores' => -50]
] );
## 现有积分21
$collect->insertOne([
'_id' => 1,
'title'=>'study mongodb',
'create_time' => '2020-08-24 12 :31'
]);
$push = ['$push' => ['comments' => 'comments1'] ];
$collect->updateOne(['_id' => 1 ], $push);
$push = [
'$push' =>
['comments' =>
['$each' => ['comment1', 'comment2', 'comment3']]
]
];
$collect->updateOne(['_id' => 1 ], $push);
kann auch mit „$sort“ verwendet werden, um die 3 Kommentare mit den meisten Likes zu behalten. # 目前数据如下
> db.users.find()
{ "_id" : 1, "title" : "study mongodb", "create_time" : "2020-08-24 12:31", "comment" : [ "comment1", "comment2", "comment3", "comment4", "comment5", "comment6" ] }
$push = [
'$push' => [
'comment' => [
'$each' => ['comment7', 'comment8', 'comment9'], '$slice' => -3
],
],
];
$collect->updateOne(['_id' => 1 ], $push);
„$addToSet“ vermeidet das Einfügen doppelter Daten
Wenn Sie „$addToSet“ zum Hinzufügen neuer Array-Elemente verwenden, können Sie das Hinzufügen doppelter Daten vermeiden, z. B.
# 现数据如下 db.users.find() { "_id" : 1, "title" : "study mongodb", "create_time" : "2020-08-24 12:31", "comment" : [ "comment7", "comment8", "comment9" ] }
Die obige Änderung wird nicht erfolgreich sein, da Apple dies bereits getan hat existiert. „$addToSet“ kann auch mit „$each“ verwendet werden, um mehrere Array-Elemente einzufügen.
# 目前是集合内是空的,么有任何文档 $collect->insertOne(['_id' => 1, 'title'=>'study mongodb', 'create_time' => '2020-08-24 12:31']); $push = [ '$push' => [ 'comment' => [ '$each' => [ ['comment' => 'php', 'like' => 100], ['comment' => 'mysql', 'like' => 10], ['comment' => 'linux', 'like' => 200], ['comment' => 'java', 'like' => 1000], ['comment' => 'nginx', 'like' => 300], ['comment' => 'composer', 'like' => 500], ], '$slice' => -3, '$sort' => ['like' => 1] ], ], ];
Elemente löschen
Sie können das Element ganz links oder ganz rechts über „$pop“ löschen. > db.users.find()
{ "_id" : 1, "title" : "study mongodb", "create_time" : "2020-08-24 12:31", "comment" : [ { "comment" : "nginx", "like" : 300 }, { "comment" : "composer", "like" : 500 }, { "comment" : "java", "like" : 1000 } ] }
$collect->insertOne([ '_id' => 1, 'name' => 'gwx', 'age' => 30, 'fruits' => ['apple', 'pear'] ]); $update = [ '$addToSet' => [ 'fruits' => 'apple' ] ];
Im Array sind alle Apple-Elemente gelöscht
upsertupsert ist ein spezielles Update. Wenn jedoch ein Satz gefunden wird, der die Bedingungen erfüllt, ist er mit der vorherigen Änderung identisch. Wenn keine Sammlung gefunden wird, die die Bedingungen erfüllt, wird sie unter Verwendung der Abfragebedingungen und des geänderten Dokuments als neues Dokument in die Sammlung eingefügt.
Im Folgenden nehmen wir als Beispiel ein Szenario, das uns oft begegnet: die Aufzeichnung der Häufigkeit, mit der jede IP aufgerufen wird. Wenn es sich um eine neue IP handelt, wird sie der Sammlung hinzugefügt. Wenn sie bereits vorhanden ist, wird die ursprüngliche Sammlung geändert.
$update = [ '$addToSet' => [ 'fruits' => [ '$each' => ['apple', 'banana', 'orange'] ] ] ]; $collect->updateOne(['_id' => 1], $update);
$collect->insertOne([ '_id' => 1, 'name' => 'gwx', 'age' => 30, 'fruits' => ['apple', 'pear'] ]); #从数组末删除1个元素 $update = [ '$pop' => [ 'fruits' => 1 ] ]; $collect->updateOne(['_id' => 1], $update); # 从数组头删除一个元素 $update = [ '$pop' => [ 'fruits' => -1 ] ]; $collect->updateOne(['_id' => 1], $update);
Mehrere Dokumente aktualisieren
Das Aktualisieren mehrerer Dokumente erfordert die updateMany()-Methode. Die Demonstration ist wie folgt: Das obige ist der detaillierte Inhalt vonAktualisierung des MongoDB-Dokuments (PHP-Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!$collect->insertOne([
'_id' => 1,
'name' => 'gwx',
'age' => 30,
'fruits' => ['apple', 'pear', 'apple', 'banana', 'orange']
]);
#从数组末删除
$update = [
'$pull' => [
'fruits' => 'apple'
]
];

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Zu den Lösungen zur Behebung von Navicat-Ablaufproblemen gehören: Erneuern der Lizenz; Deaktivieren der automatischen Updates; Wenden Sie sich an den Navicat-Kundendienst.

Um mit Navicat eine Verbindung zu MongoDB herzustellen, müssen Sie: Navicat installieren. Eine MongoDB-Verbindung erstellen: a. Geben Sie den Verbindungsnamen, die Hostadresse und den Port ein. b. Geben Sie die Authentifizierungsinformationen ein (falls erforderlich). Überprüfen Sie die Verbindung Speichern Sie die Verbindung

.NET 4.0 wird zum Erstellen einer Vielzahl von Anwendungen verwendet und bietet Anwendungsentwicklern umfangreiche Funktionen, darunter objektorientierte Programmierung, Flexibilität, leistungsstarke Architektur, Cloud-Computing-Integration, Leistungsoptimierung, umfangreiche Bibliotheken, Sicherheit, Skalierbarkeit, Datenzugriff und Mobilgeräte Entwicklungsunterstützung.

In einer serverlosen Architektur können Java-Funktionen in die Datenbank integriert werden, um auf Daten in der Datenbank zuzugreifen und diese zu bearbeiten. Zu den wichtigsten Schritten gehören: Erstellen von Java-Funktionen, Konfigurieren von Umgebungsvariablen, Bereitstellen von Funktionen und Testen von Funktionen. Durch Befolgen dieser Schritte können Entwickler komplexe Anwendungen erstellen, die nahtlos auf in Datenbanken gespeicherte Daten zugreifen.

In diesem Artikel wird vorgestellt, wie MongoDB im Debian -System konfiguriert wird, um eine automatische Expansion zu erzielen. Die Hauptschritte umfassen das Einrichten der MongoDB -Replikat -Set und die Überwachung des Speicherplatzes. 1. MongoDB Installation Erstens stellen Sie sicher, dass MongoDB im Debian -System installiert ist. Installieren Sie den folgenden Befehl: sudoaptupdatesudoaptinstall-emongoDB-org 2. Konfigurieren von MongoDB Replika-Set MongoDB Replikate sorgt für eine hohe Verfügbarkeit und Datenreduktion, was die Grundlage für die Erreichung der automatischen Kapazitätserweiterung darstellt. Start MongoDB Service: SudosystemctlstartMongodsudosysys

In diesem Artikel wird beschrieben, wie man eine hoch verfügbare MongoDB -Datenbank für ein Debian -System erstellt. Wir werden mehrere Möglichkeiten untersuchen, um sicherzustellen, dass die Datensicherheit und -Dienste weiter funktionieren. Schlüsselstrategie: ReplicaSet: Replicaset: Verwenden Sie Replikaten, um Datenreduktion und automatisches Failover zu erreichen. Wenn ein Master -Knoten fehlschlägt, wählt der Replikate -Set automatisch einen neuen Masterknoten, um die kontinuierliche Verfügbarkeit des Dienstes zu gewährleisten. Datensicherung und Wiederherstellung: Verwenden Sie den Befehl mongodump regelmäßig, um die Datenbank zu sichern und effektive Wiederherstellungsstrategien zu formulieren, um das Risiko eines Datenverlusts zu behandeln. Überwachung und Alarme: Überwachungsinstrumente (wie Prometheus, Grafana) bereitstellen, um den laufenden Status von MongoDB in Echtzeit zu überwachen, und

Um eine Verbindung zur Datenbank herzustellen, stellt Node.js mehrere Datenbank-Connector-Pakete für MySQL, PostgreSQL, MongoDB und Redis bereit. Die Verbindungsschritte umfassen: 1. Installieren Sie das entsprechende Connector-Paket. 2. Erstellen Sie einen Verbindungspool, um wiederverwendbare Verbindungen aufrechtzuerhalten. 3. Stellen Sie eine Verbindung mit der Datenbank her. Hinweis: Der Vorgang ist asynchron und Fehler müssen behandelt werden, um die Sicherheit zu gewährleisten und die Leistung zu optimieren.

Ja, Navicat kann eine Verbindung zur MongoDB-Datenbank herstellen. Zu den spezifischen Schritten gehören: Öffnen Sie Navicat und erstellen Sie eine neue Verbindung. Wählen Sie den Datenbanktyp MongoDB aus. Geben Sie die MongoDB-Hostadresse, den Port und den Datenbanknamen ein. Geben Sie Ihren MongoDB-Benutzernamen und Ihr Passwort ein (falls erforderlich). Klicken Sie auf die Schaltfläche „Verbinden“.
