PHP7之Mongodb API使用详解,_PHP教程
PHP7之Mongodb API使用详解,
编译安装PHP7
编译安装PHP7 Mongdb扩展
#先安装一个依赖库yum -y install openldap-develwget https://pecl.php.net/get/mongodb-1.1.1.tgz /home/server/php7/bin/phpize #根据自己编译的PHP环境而定./configure --with-php-config=/home/server/php7/bin/php-config make && make install#如果成功,生成一个mongodb.so扩展在lib/php/extensions/no-debug-non-zts-20151012/修改php.ini配置extension=mongodb.so
注:
以前版本用的是mongo.so扩展,老的php-mongodb api
在PHP7已经不支持了,至少目前不支持。
最新支持PHP7的mongodb 编译后 仅支持新版API(mongodb > 2.6.X版本)
参考资料
GITHUB: https://github.com/mongodb/
官网:
http://www.mongodb.org/
PHP官方: https://pecl.php.net/package/mongodb http://pecl.php.net/package/mongo [已废弃,目前只支持到PHP5.9999]
API手册:http://docs.php.net/manual/en/set.mongodb.php
Mongodb API 操作
初始化Mongodb连接
$manager = new MongoDB/Driver/Manager("mongodb://127.0.0.1:27017"); var_dump($manager); object(MongoDB/Driver/Manager)#1 (3) { ["request_id"]=> int(1714636915) ["uri"]=> string(25) "mongodb://localhost:27017" ["cluster"]=> array(13) { ["mode"]=> string(6) "direct" ["state"]=> string(4) "born" ["request_id"]=> int(0) ["sockettimeoutms"]=> int(300000) ["last_reconnect"]=> int(0) ["uri"]=> string(25) "mongodb://localhost:27017" ["requires_auth"]=> int(0) ["nodes"]=> array(...) ["max_bson_size"]=> int(16777216) ["max_msg_size"]=> int(50331648) ["sec_latency_ms"]=> int(15) ["peers"]=> array(0) { } ["replSet"]=> NULL }}
CURL操作
$bulk = new MongoDB/Driver/BulkWrite(['ordered' => true]);$bulk->delete([]); $bulk->insert(['_id' => 1]); $bulk->insert(['_id' => 2]); $bulk->insert(['_id' => 3, 'hello' => 'world']);$bulk->update(['_id' => 3], ['$set' => ['hello' => 'earth']]); $bulk->insert(['_id' => 4, 'hello' => 'pluto']); $bulk->update(['_id' => 4], ['$set' => ['hello' => 'moon']]); $bulk->insert(['_id' => 3]); $bulk->insert(['_id' => 4]); $bulk->insert(['_id' => 5]); $manager = new MongoDB/Driver/Manager('mongodb://localhost:27017'); $writeConcern = new MongoDB/Driver/WriteConcern(MongoDB/Driver/WriteConcern::MAJORITY, 1000); try { $result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern); } catch (MongoDB/Driver/Exception/BulkWriteException $e) { $result = $e->getWriteResult(); // Check if the write concern could not be fulfilled if ($writeConcernError = $result->getWriteConcernError()) {printf("%s (%d): %s/n", $writeConcernError->getMessage(), $writeConcernError->getCode(), var_export($writeConcernError->getInfo(), true)); } // Check if any write operations did not complete at all foreach ($result->getWriteErrors() as $writeError) {printf("Operation#%d: %s (%d)/n", $writeError->getIndex(), $writeError->getMessage(), $writeError->getCode()); }} catch (MongoDB/Driver/Exception/Exception $e) { printf("Other error: %s/n", $e->getMessage()); exit;}printf("Inserted %d document(s)/n", $result->getInsertedCount()); printf("Updated %d document(s)/n", $result->getModifiedCount());
查询
$filter = array();$options = array( /* Only return the following fields in the matching documents */ "projection" => array("title" => 1,"article" => 1, ), "sort" => array("views" => -1, ), "modifiers" => array('$comment' => "This is a query comment",'$maxTimeMS' => 100, ),);$query = new MongoDB/Driver/Query($filter, $options);$manager = new MongoDB/Driver/Manager("mongodb://localhost:27017"); $readPreference = new MongoDB/Driver/ReadPreference(MongoDB/Driver/ReadPreference::RP_PRIMARY);$cursor = $manager->executeQuery("databaseName.collectionName", $query, $readPreference); foreach($cursor as $document) { var_dump($document);}
以上内容是小编给大家分享的PHP7之Mongodb API使用详解,希望大家喜欢。
您可能感兴趣的文章:
- php对mongodb的扩展(初出茅庐)
- php对mongodb的扩展(初识如故)
- PHP对MongoDB[NoSQL]数据库的操作
- php操作MongoDB基础教程(连接、新增、修改、删除、查询)
- PHP实现的MongoDB数据库操作类分享
- 高效mongodb的php分页类(不使用skip)
- Thinkphp使用mongodb数据库实现多条件查询方法
- PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例
- centos yum 安装 mongodb 以及php扩展
- PHP中的mongodb group操作实例
- 迁移PHP版本到PHP7
- php实现Mongodb自定义方式生成自增ID的方法
- PHP7.0版本备注
- PHP7.0安装笔记整理
- 浅谈php7的重大新特性
- PHP7正式版测试,性能惊艳!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

Exécuter plusieurs versions PHP simultanément dans le même système est une exigence commune, en particulier lorsque différents projets dépendent de différentes versions de PHP. Comment être sur la même chose ...

Cet article présente comment configurer MongoDB sur Debian System pour réaliser une expansion automatique. Les étapes principales incluent la configuration de l'ensemble de répliques MongoDB et de la surveillance de l'espace disque. 1. Installation de MongoDB Tout d'abord, assurez-vous que MongoDB est installé sur le système Debian. Installez à l'aide de la commande suivante: SudoaptupDaSudoaptInstall-myongoDB-Org 2. Configuration de la réplique MongoDB Ensemble de répliques MongoDB assure la haute disponibilité et la redondance des données, ce qui est la base de la réalisation d'une expansion de capacité automatique. Démarrer le service MongoDB: Sudosystemctlstartmongodsudosys

Cet article décrit comment construire une base de données MongoDB hautement disponible sur un système Debian. Nous explorerons plusieurs façons de garantir que la sécurité des données et les services continueront de fonctionner. Stratégie clé: réplicaset: réplicaset: Utilisez des répliques pour obtenir la redondance des données et le basculement automatique. Lorsqu'un nœud maître échoue, l'ensemble de répliques élise automatiquement un nouveau nœud maître pour assurer la disponibilité continue du service. Sauvegarde et récupération des données: utilisez régulièrement la commande Mongodump pour sauvegarder la base de données et formuler des stratégies de récupération efficaces pour faire face au risque de perte de données. Surveillance et alarmes: déploier les outils de surveillance (tels que Prometheus, Grafana) pour surveiller l'état de course de MongoDB en temps réel, et

Comparaison des files d'attente Redis et de la stabilité de MySQL: Pourquoi Redis est-il sujet à la perte de données? Dans l'environnement de développement, en utilisant des cadres Php7.2 et ThinkPhp, nous sommes souvent confrontés au choix de la coopération ...

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

Comment éviter de modifier manuellement les autorisations d'UnixSockets après chaque redémarrage du système. Dans Unix Systems, vous devrez parfois modifier manuellement un certain ...

Le chiffrement de la base de données MongoDB sur un système Debian nécessite de suivre les étapes suivantes: Étape 1: Installez d'abord MongoDB, assurez-vous que votre système Debian a installé MongoDB. Sinon, veuillez vous référer au document officiel MongoDB pour l'installation: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/step 2: générer le fichier de clé de cryptage Créer un fichier contenant la clé de chiffrement et définir les permissions correctes: ddif = / dev / urandof = / etc / mongodb-keyfilebs = 512
