Heim > Backend-Entwicklung > PHP7 > Grundlegende Verwendung von Mongodb in PHP7 (detaillierte Code-Erklärung)

Grundlegende Verwendung von Mongodb in PHP7 (detaillierte Code-Erklärung)

藏色散人
Freigeben: 2023-02-17 12:18:01
nach vorne
6118 Leute haben es durchsucht

Tipps: Die Mongodb-Erweiterung von PHP hat die ursprüngliche Mongo-Erweiterung ab 5.6 aufgegeben. PECL-Downloadadresse für PHP7: https://pecl.php /mongodb, oder wählen Sie die offizielle Entwicklung von mongodb: https://github.com/mongodb/mongo-php-library Diese auf Git unterstützt die vorherige Mongo-Schreibmethode, aber die Mongodb auf Pecl unterstützt die vorherige Schreibmethode nicht .

Das Folgende ist eine Zusammenfassung der neuen API von PHP7:

1: CURD

1: Link

<?php
//链接mongodb
$manager = new MongoDB\Driver\Manager(&#39;mongodb://root:123@10.10.10.104:27017&#39;);
Nach dem Login kopieren

root-Benutzer; 123: Passwort; wenn kein Passwort vorhanden ist, schreiben Sie es nicht

2: Abfrage

<?php

//链接mongodb
$manager = new MongoDB\Driver\Manager(&#39;mongodb://root:sjhc168@10.10.10.104:27017&#39;);

//查询
$filter =  [&#39;user_id&#39;=>[&#39;$gt&#39;=>0]]; //查询条件 user_id大于0
$options = [
   &#39;projection&#39; => [&#39;_id&#39; => 0], //不输出_id字段
   &#39;sort&#39; => [&#39;user_id&#39;=>-1] //根据user_id字段排序 1是升序,-1是降序
];
$query = new MongoDB\Driver\Query($filter, $options); //查询请求
$list = $manager->executeQuery(&#39;location.box&#39;,$query); // 执行查询 location数据库下的box集合


foreach ($list as $document) {
    print_r($document); 
}
Nach dem Login kopieren

Abfrage Weitere Informationen zur Verwendung von Bedingungen finden Sie in Abschnitt 2 „Grundlegende MongoDB-Befehle, Abfrage“

3: Hinzufügen von

<?php

//链接mongodb
$manager = new MongoDB\Driver\Manager(&#39;mongodb://root:sjhc168@10.10.10.104:27017&#39;);

$bulk = new MongoDB\Driver\BulkWrite; //默认是有序的,串行执行
//$bulk = new MongoDB\Driver\BulkWrite([&#39;ordered&#39; => flase]);//如果要改成无序操作则加flase,并行执行
$bulk->insert([&#39;user_id&#39; => 2, &#39;real_name&#39;=>&#39;中国&#39;,]);
$bulk->insert([&#39;user_id&#39; => 3, &#39;real_name&#39;=>&#39;中国人&#39;,]);
$manager->executeBulkWrite(&#39;location.box&#39;, $bulk); //执行写入 location数据库下的box集合
Nach dem Login kopieren

4: Ändern von

<?php

//链接mongodb
$manager = new MongoDB\Driver\Manager(&#39;mongodb://root:sjhc168@10.10.10.104:27017&#39;);

$bulk = new MongoDB\Driver\BulkWrite; //默认是有序的,串行执行
//$bulk = new MongoDB\Driver\BulkWrite([&#39;ordered&#39; => flase]);//如果要改成无序操作则加flase,并行执行
$bulk->update(
	[&#39;user_id&#39; => 2],
	[&#39;$set&#39;=>[&#39;real_name&#39;=>&#39;中国国&#39;]
]); 
//$set相当于mysql的 set,这里和mysql有两个不同的地方,
//1:字段不存在会添加一个字段;
//2:mongodb默认如果条件不成立,新增加数据,相当于insert


//如果条件不存在不新增加,可以通过设置upsert
//db.collectionName.update(query, obj, upsert, multi);

$bulk->update(
	[&#39;user_id&#39; => 5],
	[
		&#39;$set&#39;=>[&#39;fff&#39;=>&#39;中国国&#39;]
	],
	[&#39;multi&#39; => true, &#39;upsert&#39; => false] 
	//multi为true,则满足条件的全部修改,默认为true,如果改为false,则只修改满足条件的第一条
	//upsert为 treu:表示不存在就新增
);
$manager->executeBulkWrite(&#39;location.box&#39;, $bulk); //执行写入 location数据库下的box集合
Nach dem Login kopieren

geordnete Einstellungen

1: Der Standardwert ist wahr. Wenn ein Fehler auftritt, wird die nachfolgende Ausführung gestoppt. Mongo nennt es offiziell seriell.
2: Wenn es falsch ist, fügt Mongo gleichzeitig aktualisierte Daten ein, hat dies keine Auswirkungen auf nachfolgende Vorgänge

5: Löschen

<?php

//链接mongodb
$manager = new MongoDB\Driver\Manager(&#39;mongodb://root:sjhc168@10.10.10.104:27017&#39;);

$bulk = new MongoDB\Driver\BulkWrite; //默认是有序的,串行执行
//$bulk = new MongoDB\Driver\BulkWrite([&#39;ordered&#39; => flase]);//如果要改成无序操作则加flase,并行执行
$bulk->delete([&#39;user_id&#39;=>5]);//删除user_id为5的字段
$manager->executeBulkWrite(&#39;location.box&#39;, $bulk); //执行写入 location数据库下的box集合
Nach dem Login kopieren

delete kann über limit auch verschiedene Löschmethoden festlegen

$bulk->delete([&#39;user_id&#39; => 1], [&#39;limit&#39; => 1]);   // limit 为 1 时,删除第一条匹配数据
$bulk->delete([&#39;user_id&#39; => 2], [&#39;limit&#39; => 0]);   // limit 为 0 时,删除所有匹配数据,默认删除所有
Nach dem Login kopieren

6: Ausnahmen abfangen

MongoDB\Driver\Exception\AuthenticationException
MongoDB\Driver\Exception\BulkWriteException
MongoDB\Driver\Exception\ConnectionException
MongoDB\Driver\Exception\ConnectionTimeoutException
MongoDB\Driver\Exception\Exception //所有驱动程序异常的公共接口
MongoDB\Driver\Exception\ExecutionTimeoutException
MongoDB\Driver\Exception\InvalidArgumentException
MongoDB\Driver\Exception\LogicException
MongoDB\Driver\Exception\RuntimeException
MongoDB\Driver\Exception\SSLConnectionException
MongoDB\Driver\Exception\UnexpectedValueException
MongoDB\Driver\Exception\WriteException
Nach dem Login kopieren

Anleitung: http://php.net /manual/zh /class.mongodb-driver-Exception-authenticationException.php

Das obige ist der detaillierte Inhalt vonGrundlegende Verwendung von Mongodb in PHP7 (detaillierte Code-Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage