PHP & MongoDB – Insert Embedded Documents
First step to do any operation is to create a Manager instance.
// Connect to MongoDB using Manager Instance $manager = new MongoDBDriverManager("mongodb://localhost:27017");
Second step is to prepare and execute a bulkWrite object to insert record(s) with embedded documents in the collection.
// Create a BulkWrite Object $bulk = new MongoDBDriverBulkWrite([''ordered'' => true]); $bulk->insert([''title'' => "MongoDB Overview", ''description'' => ''MongoDB is no SQL database'', ''by'' => ''tutorials point'', ''url'' => ''http://www.tutorialspoint.com'', ''comments'' => [ [''user'' => "user1", ''message'' => "My First Comment", ''dateCreated'' => "20/2/2020", ''like'' => 0], [''user'' => "user2", ''message'' => "My Second Comment", ''dateCreated'' => "20/2/2020", ''like'' => 0], ]]); // Execute the commands. $result = $manager->executeBulkWrite(''myDb.sampleCollection'', $bulk);
Example
Try the following example to insert document with embedded documents in a collection in MongoDB server −
Copy and paste the following example as mongodb_example.php −
<?php try { // connect to mongodb $manager = new MongoDBDriverManager("mongodb://localhost:27017"); $bulk = new MongoDBDriverBulkWrite([''ordered'' => true]); $bulk->insert([''title'' => "MongoDB Overview", ''description'' => ''MongoDB is no SQL database'', ''by'' => ''tutorials point'', ''url'' => ''http://www.tutorialspoint.com'', ''comments'' => [ [''user'' => "user1", ''message'' => "My First Comment", ''dateCreated'' => "20/2/2020", ''like'' => 0], [''user'' => "user2", ''message'' => "My Second Comment", ''dateCreated'' => "20/2/2020", ''like'' => 0], ]]); $result = $manager->executeBulkWrite(''myDb.sampleCollection'', $bulk); printf("Inserted %d document(s).n", $result->getInsertedCount()); } catch (MongoDBDriverExceptionException $e) { echo "Exception:", $e->getMessage(), "n"; } ?>
Output
Access the mongodb_example.php deployed on apache web server and verify the output.
Inserted 1 document(s).