Maison> base de données> MongoDB> le corps du texte

Création et suppression de documents MongoDB (exemple de code php)

齐天大圣
Libérer: 2020-08-21 13:25:42
original
2285 Les gens l'ont consulté

Notez que tous les exemples de code de cet article sont démontrés à l'aide de code PHP.

Installer l'extension MongoDB

Adresse d'installation du package d'extension : https://pecl.php.net/package/mongodb

Téléchargez la version la plus stable, puis téléchargez le package d'extension sur le serveur.

# 解压 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
Copier après la connexion

Tutoriel d'extension mongodb : https://docs.mongodb.com/php-library/current/reference/

Utilisation de phplib

composer require mongodb/mongodb
Copier après la connexion

Insérer un document

Semblable à Mysql, MongoDB peut également insérer un ou plusieurs documents dans des documents. Voir ci-dessous pour insérer une seule entrée :

$mongo = new MongoDB\Client(); $collect = $mongo->users->users; $collect->insertOne(['name'=> 'james', 'age' => 35]);
Copier après la connexion

Si le champ _id n'est pas déclaré, cette opération créera automatiquement un champ _id pour le nouveau document. Bien sûr, nous pouvons également spécifier manuellement la valeur de _id

$collect->insertOne(['_id' => 1,'name'=> 'james', 'age' => 35]);
Copier après la connexion

Cette fonction renvoie un objet MongoDBInsertOneResult en cas de succès, et une exception sera levée en cas d'échec.

Voyons comment insérer plusieurs documents :

$collect->insertMany([ [ 'name'=>'paul', 'age' => 34], [ 'name'=>'durant', 'age' => 31], [ 'name'=> 'curry', 'age' => 31] ]);
Copier après la connexion

Il est à noter que lors de l'insertion par lots, si l'un des documents ne parvient pas à être inséré, les suivants ne continueront pas à être insérés, mais le précédent sera inséré.

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

Si vous souhaitez ignorer l'erreur et hériter de l'insertion, vous devez ajouter l'option ordonnée à la méthode et la définir sur false.

$collect->insertMany([ [ 'name'=>'jay', 'age' => 34], ['_id'=> 1, 'name'=> 'jeans', 'age' => 1], // _id=1已存在 [ 'name'=>'xtf', 'age' => 31], ],['ordered' => false]);
Copier après la connexion

Remarque : Vous pouvez insérer si vous rencontrez l'erreur Succès ci-dessus, mais l'instruction lève une exception. Si vous souhaitez ignorer l'erreur et poursuivre l'exécution du programme, vous devez intercepter l'exception.

Supprimer un document

Remarque : La suppression est une opération dangereuse et ne peut être restaurée ou annulée.

Supprimer des documents via des instructions de requête :

/** * 目前有4个name为james的文档 */ # 删除一个文档 $ret = $collect->deleteOne(['name'=>'james']); printf($ret->getDeletedCount()); // 1 # 删除满足条件的所有文档 $ret = $collect->deleteMany(['name'=>'james']); printf($ret->getDeletedCount());
Copier après la connexion

Supprimer tous les documents (en fait, toute la collection est supprimée) :

$collect->drop();
Copier après la connexion

Création et suppression de documents MongoDB, C'est très simple à utiliser.

Recommandé : "Tutoriel vidéo MongoDB"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!