Heim > Datenbank > MongoDB > Erstellen und Löschen von MongoDB-Dokumenten (PHP-Codebeispiel)

Erstellen und Löschen von MongoDB-Dokumenten (PHP-Codebeispiel)

齐天大圣
Freigeben: 2020-08-21 13:25:42
Original
2488 Leute haben es durchsucht

Beachten Sie, dass alle Codebeispiele in diesem Artikel mit PHP-Code demonstriert werden.

MongoDB-Erweiterung installieren

Installationsadresse des Erweiterungspakets: https://pecl.php.net/package/mongodb

Laden Sie die stabilste Version herunter und laden Sie dann die Erweiterung hoch Paket auf den Server.

# 解压
tar zxf mongodb-1.8.0.tgz 
cd mongodb-1.8.0

# 安装
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config 
make & make install

# 修改php配置文件php.ini
# 加入一行extension=mongodb

# 测试
php -m | grep mongodb
Nach dem Login kopieren

Mongodb-Erweiterungs-Tutorial: https://docs.mongodb.com/php-library/current/reference/

Mit phplib

composer require mongodb/mongodb
Nach dem Login kopieren

Dokumente einfügen

Ähnlich wie l, MongoDB-Einfügungen Dokumente können auch in einzelne oder mehrere Dokumente eingefügt werden. Siehe unten zum Einfügen eines einzelnen Eintrags:

$mongo = new MongoDB\Client();
$collect = $mongo->users->users;
$collect->insertOne(['name'=> 'james', 'age' => 35]);
Nach dem Login kopieren

Wenn das _id-Feld nicht deklariert ist, erstellt dieser Vorgang automatisch ein _id-Feld für das neue Dokument. Natürlich können wir den Wert von _id

$collect->insertOne(['_id' => 1,'name'=> 'james', 'age' => 35]);
Nach dem Login kopieren

auch manuell angeben. Diese Funktion gibt bei Erfolg ein MongoDBInsertOneResult-Objekt zurück, und bei einem Fehlschlag wird eine Ausnahme ausgelöst.

Sehen wir uns an, wie man mehrere Dokumente einfügt:

$collect->insertMany([
    [ 'name'=>'paul', 'age' => 34],
    [ 'name'=>'durant', 'age' => 31],
    [ 'name'=> 'curry', 'age' => 31]
]);
Nach dem Login kopieren

Es ist zu beachten, dass beim Stapeleinfügen, wenn eines der Dokumente nicht eingefügt werden kann, die nachfolgenden nicht weiter eingefügt werden, sondern die vorherigen.

# 第一条会插入成功,第二条时插入失败,后面的也不会继续插入
$collect->insertMany([
    [ 'name'=>'paul', 'age' => 34],
    ['_id'=> 1, 'name'=> 'jeans', 'age' => 1], // _id=1已存在
    [ 'name'=>'durant', 'age' => 31],
    [ 'name'=> 'curry', 'age' => 31]
]);
Nach dem Login kopieren

Wenn Sie den Fehler ignorieren und die Einfügung erben möchten, müssen Sie die Option ordered zur Methode hinzufügen und auf false setzen.

$collect->insertMany([
    [ 'name'=>'jay', 'age' => 34],
    ['_id'=> 1, 'name'=> 'jeans', 'age' => 1], // _id=1已存在
    [ 'name'=>'xtf', 'age' => 31],
],['ordered' => false]);
Nach dem Login kopieren

Hinweis: Der obige Fehler kann erfolgreich eingefügt werden, die Anweisung jedoch eine Ausnahme auslösen. Wenn Sie den Fehler ignorieren und die Ausführung des Programms fortsetzen möchten, müssen Sie die Ausnahme abfangen.

Dokumente löschen

Hinweis: Das Löschen ist ein gefährlicher Vorgang und kann nicht wiederhergestellt oder rückgängig gemacht werden.

Dokumente über Abfrageanweisungen löschen:

/**
 * 目前有4个name为james的文档
 */
 
# 删除一个文档
$ret = $collect->deleteOne(['name'=>'james']);
printf($ret->getDeletedCount());  // 1

# 删除满足条件的所有文档
$ret = $collect->deleteMany(['name'=>'james']);
printf($ret->getDeletedCount());
Nach dem Login kopieren

Alle Dokumente löschen (tatsächlich wird die gesamte Sammlung gelöscht):

$collect->drop();
Nach dem Login kopieren

Das Erstellen und Löschen von MongoDB-Dokumenten ist sehr einfach zu verwenden.

Empfohlen: „MongoDB Video-Tutorial

Das obige ist der detaillierte Inhalt vonErstellen und Löschen von MongoDB-Dokumenten (PHP-Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage