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
2440 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal