サーチ…


MongoDBに接続する

MongoDB接続を作成すると、後でそれを照会できます:

$manager = new \MongoDB\Driver\Manager('mongodb://localhost:27017');

次の例では、接続オブジェクトを照会する方法を学習します。

この拡張機能は接続を自動的に閉じます。手動で閉じる必要はありません。

1つのドキュメントを取得する - findOne()

特定のIDを持つ1人のユーザーを検索する例は、次のようにする必要があります。

$options = ['limit' => 1];
$filter = ['_id' => new \MongoDB\BSON\ObjectID('578ff7c3648c940e008b457a')];
$query = new \MongoDB\Driver\Query($filter, $options);

$cursor = $manager->executeQuery('database_name.collection_name', $query);
$cursorArray = $cursor->toArray();
if(isset($cursorArray[0])) {
    var_dump($cursorArray[0]);
}

複数のドキュメントを取得する - find()

「Mike」という名前の複数のユーザーを検索する例

$filter = ['name' => 'Mike'];
$query = new \MongoDB\Driver\Query($filter);

$cursor = $manager->executeQuery('database_name.collection_name', $query);
foreach ($cursor as $doc) {
    var_dump($doc);
}

ドキュメントを挿入する

ドキュメントを追加する例:

$document = [
    'name' => 'John',
    'active' => true,
    'info' => ['genre' => 'male', 'age' => 30]
];
$bulk = new \MongoDB\Driver\BulkWrite;
$_id1 = $bulk->insert($document);
$result = $manager->executeBulkWrite('database_name.collection_name', $bulk);

ドキュメントを更新する

nameが "John"に等しいすべてのドキュメントを更新する例

$filter = ['name' => 'John'];
$document = ['name' => 'Mike'];

$bulk = new \MongoDB\Driver\BulkWrite;
$bulk->update(
    $filter,
    $document,
    ['multi' => true]
);
$result = $manager->executeBulkWrite('database_name.collection_name', $bulk);

ドキュメントを削除する

nameが "Peter"に等しいすべてのドキュメントを削除する例

$bulk = new \MongoDB\Driver\BulkWrite;

$filter = ['name' => 'Peter'];
$bulk->delete($filter);

$result = $manager->executeBulkWrite('database_name.collection_name', $bulk);


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow