ホームページ  >  記事  >  データベース  >  MongoDBドキュメントの作成と削除(phpコード例)

MongoDBドキュメントの作成と削除(phpコード例)

齐天大圣
齐天大圣オリジナル
2020-08-21 12:03:042447ブラウズ

この記事のすべてのコード例は、PHP コードを使用して示されていることに注意してください。

MongoDB 拡張機能をインストールします

# #拡張パッケージのインストール アドレス: https://pecl.php.net/package/mongodb

最も安定したバージョンをダウンロードし、拡張パッケージをサーバーにアップロードします。

# 解压
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

mongodb 拡張機能のチュートリアル: https://docs.mongodb.com/php-library/current/reference/

phplib の使用

composer require mongodb/mongodb

ドキュメントの挿入Mysql と同様に、MongoDB も単一または複数のドキュメントをドキュメントに挿入できます。単一エントリの挿入を見てみましょう:

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

_id フィールドが宣言されていない場合、この操作により新しいドキュメントの _id フィールドが自動的に作成されます。もちろん、_id

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

の値を手動で指定することもできます。この関数は、実行が成功すると MongoDB\InsertOneResult オブジェクトを返し、失敗すると例外がスローされます。

複数のドキュメントを挿入する方法を見てみましょう:

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

バッチ挿入中に、ドキュメントの 1 つが挿入できなかった場合、後続のドキュメントは挿入されないことに注意してください。ただし、前のものが挿入されます。

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

エラーを無視して挿入を続行したい場合は、メソッドに順序指定されたオプションを追加し、それを false に設定する必要があります。

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

注:上記のエラーが発生した場合は挿入します。成功しましたが、ステートメントは例外をスローします。エラーを無視してプログラムの実行を続行したい場合は、例外をキャッチする必要があります。

ドキュメントの削除

注: 削除は危険な操作であり、復元したり元に戻したりすることはできません。

クエリ ステートメントによるドキュメントの削除:

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

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

すべてのドキュメントの削除 (実際にはコレクション全体が削除されます):

$collect->drop();

MongoDB ドキュメントの作成と削除、使い方はとても簡単です。


推奨: 「

MongoDB ビデオ チュートリアル

以上がMongoDBドキュメントの作成と削除(phpコード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。