From 9f908d87ebe938dab10a0089298c2aa3b9c8cc53 Mon Sep 17 00:00:00 2001 From: Chris Cho Date: Fri, 16 Dec 2022 16:37:58 -0500 Subject: [PATCH 1/3] Guided Quick Start wip small fixes add titles consolidate install, add buttons updates button format test hlist test cta alternate format fix button fix button convert to admonition change format troubleshooting reformat test wip edit text, add source constant capitalization restructure as quick start, separate connection string step fix toc edits edits remove cssclass add ref anchors and incorporate overview into quick start landing page add quick start to landing pages fix button link targets move driver install add title remove add an app wip WIP WIP WIP edits edits edits update figure reduce png size Revert "reduce png size" This reverts commit e89aed004a3df3d4b2c9ed2d3a1f2f45ced4fcc5. Revert "update figure" This reverts commit fe05da949de5621fcff00d2100add7e2724bdc62. replace images fix images --- snooty.toml | 2 + .../atlas_connection_select_cluster.png | Bin 30288 -> 35481 bytes source/includes/quick-start/troubleshoot.rst | 6 + source/index.txt | 28 +-- source/quick-start.txt | 210 ++---------------- source/quick-start/connect-to-mongodb.txt | 82 +++++++ .../create-a-connection-string.txt | 65 ++++++ source/quick-start/create-a-deployment.txt | 32 +++ source/quick-start/download-and-install.txt | 65 ++++++ source/quick-start/next-steps.txt | 19 ++ 10 files changed, 301 insertions(+), 208 deletions(-) create mode 100644 source/includes/quick-start/troubleshoot.rst create mode 100644 source/quick-start/connect-to-mongodb.txt create mode 100644 source/quick-start/create-a-connection-string.txt create mode 100644 source/quick-start/create-a-deployment.txt create mode 100644 source/quick-start/download-and-install.txt create mode 100644 source/quick-start/next-steps.txt diff --git a/snooty.toml b/snooty.toml index ad4c4d672..2e57bf3e9 100644 --- a/snooty.toml +++ b/snooty.toml @@ -12,6 +12,7 @@ toc_landing_pages = [ "/fundamentals/connection", "/fundamentals/crud", "/usage-examples", + "/quick-start", ] sharedinclude_root = "https://raw.githubusercontent.com/10gen/docs-shared/main/" @@ -19,6 +20,7 @@ sharedinclude_root = "https://raw.githubusercontent.com/10gen/docs-shared/main/" version = "5.0" package-name-org = "mongodb-org" api = "https://mongodb.github.io/node-mongodb-native/{+version+}" +min-node-version = "v12" mongosh = "``mongosh``" driver = "node" driver-long = "MongoDB Node.js driver" diff --git a/source/includes/figures/atlas_connection_select_cluster.png b/source/includes/figures/atlas_connection_select_cluster.png index 2a8bb3f743af4f9af2e7edfd9a20e1cc12ac96b1..52d827d67bf9a46e30671df001d144f4538c4695 100644 GIT binary patch literal 35481 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

4N?~)Xc)h9V|#8Xnx^ocodOvO(h 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 literal 30288 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 iiGy$#5fC_mkp2U)LeCTYg)uw;0000` + or submit feedback using the :guilabel:`Share Feedback` + tab on the right or bottom right side of this page. diff --git a/source/index.txt b/source/index.txt index 7f8c80dad..e065db33c 100644 --- a/source/index.txt +++ b/source/index.txt @@ -32,12 +32,11 @@ You can add the driver to your application to work with MongoDB in JavaScript. Download it using `npm `__ or set up a runnable project by following our Quick Start guide. - Quick Start ------------ +------------------ Learn how to establish a connection to MongoDB Atlas and begin -working with data in the :doc:`Quick Start ` section. +working with data in the step-by-step :doc:`Quick Start `. Quick Reference --------------- @@ -60,8 +59,8 @@ API --- For detailed information about classes and methods in the MongoDB -Node.js driver, see the `MongoDB Node.js driver API documentation -<{+api+}>`__ . +Node.js driver, see the `{+driver-long+} API documentation +<{+api+}>`__. FAQ --- @@ -73,15 +72,14 @@ section. Issues & Help ------------- -Learn how to report bugs, contribute to the driver, and find -additional resources for asking questions and receiving help in the +Learn how to report bugs, contribute to the driver, and to find help in the :doc:`Issues & Help ` section. Compatibility ------------- -For the compatibility charts that show the recommended Node.js -Driver version for each MongoDB Server version, see the +For the compatibility tables that show the recommended {+driver-short+} +version for each MongoDB Server version, see the :doc:`Compatibility ` section. What's New @@ -94,19 +92,18 @@ Learn ----- Visit the Developer Hub and MongoDB University to learn more about the -MongoDB Node.js driver. +{+driver-short+}. Developer Hub ~~~~~~~~~~~~~ -The Developer Hub provides tutorials and social engagement for -developers. +The Developer Hub provides tutorials and social engagement for developers. To learn how to use MongoDB features with the Node.js driver, see the -`How To's and Articles page `_. +`How To's and Articles page `__. To ask questions and engage in discussions with fellow developers using -the Node.js driver, see the `forums page `_. +the {+driver-short+}, see the `Developer Community forums `__. MongoDB University ~~~~~~~~~~~~~~~~~~ @@ -118,8 +115,7 @@ Take the free online course taught by MongoDB instructors .. list-table:: - * - .. cssclass:: bordered-figure - .. figure:: /includes/figures/M220JS_hero.jpg + * - .. figure:: /includes/figures/M220JS_hero.jpg :alt: Banner for the MongoDB University Node.js Course - `Using MongoDB with Node.js `_ diff --git a/source/quick-start.txt b/source/quick-start.txt index d915742e8..26bc3ea4f 100644 --- a/source/quick-start.txt +++ b/source/quick-start.txt @@ -4,211 +4,37 @@ Quick Start =========== -.. default-domain:: mongodb - .. contents:: On this page :local: :backlinks: none - :depth: 2 + :depth: 1 :class: singlecol +Overview +-------- + This guide shows you how to create an application that uses the {+driver-long+} to connect to a MongoDB cluster hosted on MongoDB Atlas. If you prefer to connect to MongoDB using a different driver or programming language, see our :driver:`list of official drivers <>`. -The {+driver-short+} is a library you can use to connect to and communicate -with MongoDB. +The {+driver-short+} is a library of functions that you can use to connect +to and communicate with MongoDB. MongoDB Atlas is a fully managed cloud database service that hosts your -MongoDB servers. You can get started with your own free (no credit card -required) MongoDB instance with this guide. - -Follow the steps below to connect a sample Node.js application to a MongoDB -instance on MongoDB Atlas. - -Set up Your Project -------------------- - -Install Node and npm -~~~~~~~~~~~~~~~~~~~~ - -Ensure you have Node.js v12 or later and npm (Node Package Manager) installed -in your development environment. - -For information on how to install Node.js and npm, see -`downloading and installing Node.js and npm `__. - - -Create the Project -~~~~~~~~~~~~~~~~~~ - -First, in your shell, create a directory for your project: - -.. code-block:: bash - - mkdir node_quickstart - -Then, navigate into that directory: - -.. code-block:: bash - - cd node_quickstart - -Next, initialize your project: - -.. code-block:: bash - - npm init -y - -Add MongoDB as a Dependency -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Install the {+driver-short+}: - -.. code-block:: bash - - npm install mongodb@{+version+} - -This command performs the following actions: - -- Downloads the ``mongodb`` package and the dependencies it requires -- Saves the package in the ``node_modules`` directory -- Records the dependency information in the ``package.json`` file - -At this point, you are ready to use the {+driver-short+} with your -application. - -.. _node-quickstart-connect-cluster: - -Create a MongoDB Cluster -~~~~~~~~~~~~~~~~~~~~~~~~ - -.. procedure:: - :style: connected - - .. step:: Create a Free Tier Cluster in Atlas - - Create a free tier MongoDB cluster on MongoDB Atlas to store and manage - your data. MongoDB Atlas hosts and manages your MongoDB database in the - cloud. Complete the :atlas:`Get Started with Atlas ` - guide to set up a new Atlas account, a free tier cluster (a shared - MongoDB instance) and load sample data into your cluster. - - .. step:: Connect to your Cluster - - You can connect to your MongoDB cluster by providing a - **connection string** which instructs the driver on where and how to - connect. The connection string includes information on the hostname - or IP address and port of your cluster, the authentication mechanism, - user credentials when applicable, and other connection options. - - To connect to an instance or cluster not hosted on Atlas, see - :ref:`Other Ways to Connect to MongoDB `. - - To retrieve your connection string for the cluster you created in - the previous step, log into your Atlas account and navigate to the - :guilabel:`Database` section and click the :guilabel:`Connect` button - for the cluster that you want to connect to as shown below. - - .. figure:: /includes/figures/atlas_connection_select_cluster.png - :alt: The connect button in the clusters section of the Atlas UI - - Proceed to the :guilabel:`Connect Your Application` section and select - the {+driver-short+}. Select the :guilabel:`Connection String Only` tab - and click the :guilabel:`Copy` button to copy the connection string to - your clipboard as shown below. - - .. figure:: /includes/figures/atlas_connection_copy_string_node.png - :alt: The connection string copy button in the Connection String Only tab of the Atlas UI - - Save your connection string to a safe location. - -Connect to Your Application -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. procedure:: - :style: connected - - .. step:: Create your Node.js Application - - Create a file to contain your application called ``index.js`` in your - project directory. Add the following code, assigning the ``uri`` - variable the value of your connection string. - - - .. code-block:: js - - const { MongoClient } = require("mongodb"); - - // Replace the uri string with your connection string. - const uri = - "mongodb+srv://:@?retryWrites=true&w=majority"; - - const client = new MongoClient(uri); - - async function run() { - try { - const database = client.db('sample_mflix'); - const movies = database.collection('movies'); - - // Query for a movie that has the title 'Back to the Future' - const query = { title: 'Back to the Future' }; - const movie = await movies.findOne(query); - - console.log(movie); - } finally { - // Ensures that the client will close when you finish/error - await client.close(); - } - } - run().catch(console.dir); - - .. tip:: - - The preceding code example assigns the ``MongoClient`` variable using - :mdn:`object destructuring `, - introduced in Node.js v6. You can create an instance of a - ``MongoClient`` without using object destructuring as shown in the - following code: - - .. code-block:: js - - const MongoClient = require("mongodb").MongoClient; - - .. step:: Run your Node.js Application - - Run the application you created from the previous step from the - command line: - - .. code-block:: none - - node index.js - - You should see the details of the retrieved movie document in the output: - - .. code-block:: none - - { - _id: ..., - plot: 'A young man is accidentally sent 30 years into the past...', - genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], - ... - title: 'Back to the Future', - ... - } +MongoDB deployments. You can create your own free (no credit card +required) MongoDB Atlas deployment by following the steps in this guide. - If you encounter an error or no output, check whether you specified the - proper connection string in the application code, and loaded the sample - data set in your Atlas cluster. +Follow the steps in this guide to connect a sample Node.js application to +a MongoDB Atlas deployment. - At this point, you should have a working application that uses - the {+driver-short+} to connect to your MongoDB instance, runs a query - on the sample data, and prints out the result. +.. button:: Next: Download and Install + :uri: /quick-start/download-and-install/ -Next Steps ----------- +.. toctree:: -Learn how to read and modify data using the {+driver-short+} in our -:ref:`CRUD Operations ` guide or how to perform common -operations in our :ref:`Usage Examples `. + /quick-start/download-and-install/ + /quick-start/create-a-deployment/ + /quick-start/create-a-connection-string/ + /quick-start/connect-to-mongodb/ + /quick-start/next-steps/ diff --git a/source/quick-start/connect-to-mongodb.txt b/source/quick-start/connect-to-mongodb.txt new file mode 100644 index 000000000..2bb9f23c5 --- /dev/null +++ b/source/quick-start/connect-to-mongodb.txt @@ -0,0 +1,82 @@ +.. _node-quick-start-connect-to-mongodb: + +================== +Connect to MongoDB +================== + +.. procedure:: + :style: connected + + .. step:: Create your Node.js Application + + Create a file to contain your application called ``index.js`` in your + ``node_quickstart`` project directory. + + Copy and paste the following code into the ``index.js`` file: + + .. code-block:: js + + const { MongoClient } = require("mongodb"); + + // Replace the uri string with your connection string. + const uri = ""; + + const client = new MongoClient(uri); + + async function run() { + try { + const database = client.db('sample_mflix'); + const movies = database.collection('movies'); + + // Query for a movie that has the title 'Back to the Future' + const query = { title: 'Back to the Future' }; + const movie = await movies.findOne(query); + + console.log(movie); + } finally { + // Ensures that the client will close when you finish/error + await client.close(); + } + } + run().catch(console.dir); + + .. step:: Assign the Connection String + + Replace the ```` placeholder with the + connection string that you copied from the :ref:`node-quick-start-connection-string` + step of this guide. + + .. step:: Run your Node.js Application + + In your shell, run the following command to start this application: + + .. code-block:: none + + node index.js + + You should see the details of the retrieved movie document in the + command line output: + + .. code-block:: none + + { + _id: ..., + plot: 'A young man is accidentally sent 30 years into the past...', + genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], + ... + title: 'Back to the Future', + ... + } + + If you encounter an error or see no output, check whether you specified the + proper connection string in the ``index.js`` file, and that you loaded the + sample data. + +After you complete these steps, you should have a working application that +uses the driver to connect to your MongoDB deployment, runs a query on +the sample data, and prints out the result. + +.. include:: /includes/quick-start/troubleshoot.rst + +.. button:: Next Steps + :uri: /quick-start/next-steps/ diff --git a/source/quick-start/create-a-connection-string.txt b/source/quick-start/create-a-connection-string.txt new file mode 100644 index 000000000..dbfed916f --- /dev/null +++ b/source/quick-start/create-a-connection-string.txt @@ -0,0 +1,65 @@ +.. _node-quick-start-connection-string: + +========================== +Create a Connection String +========================== + +You can connect to your MongoDB deployment by providing a +**connection URI**, also called a *connection string*, which +instructs the driver how to connect to a MongoDB deployment +and how to behave while connected. + +The connection string includes the hostname or IP address and +port of your deployment, the authentication mechanism, user credentials +when applicable, and connection options. + +To connect to an instance or deployment not hosted on Atlas, see +:ref:`Other Ways to Connect to MongoDB `. + +.. procedure:: + :style: connected + + .. step:: Find your MongoDB Atlas Connection String + + To retrieve your connection string for the deployment that + you created in the :ref:`previous step `, + log into your Atlas account and navigate to the + :guilabel:`Database` section and click the :guilabel:`Connect` button + for your new deployment. + + .. figure:: /includes/figures/atlas_connection_select_cluster.png + :alt: The connect button in the clusters section of the Atlas UI + + Proceed to the :guilabel:`Connect your application` section and select + "Node.js" from the :guilabel:`Driver` selection menu and the version + that best matches the version you installed from the :guilabel:`Version` + selection menu. + + Select the :guilabel:`Password (SCRAM)` authentication mechanism. + + Deselect the :guilabel:`Include full driver code example` to view + the connection string. + + .. step:: Copy your Connection String + + Click the button on the right of the connection string to copy it to + your clipboard as shown in the following screenshot: + + .. figure:: /includes/figures/atlas_connection_copy_string_node.png + :alt: The connection string copy button in the Atlas UI + + .. step:: Update the Placeholders + + Paste this connection string into a a file in your preferred text editor + and replace the "" and "" placeholders with + your database user's username and password. + + Save this file to a safe location for use in the next step. + +After completing these steps, you should have a connection string that +contains your database username and password. + +.. include:: /includes/quick-start/troubleshoot.rst + +.. button:: Next: Connect to MongoDB + :uri: /quick-start/connect-to-mongodb/ \ No newline at end of file diff --git a/source/quick-start/create-a-deployment.txt b/source/quick-start/create-a-deployment.txt new file mode 100644 index 000000000..ffd1e0efb --- /dev/null +++ b/source/quick-start/create-a-deployment.txt @@ -0,0 +1,32 @@ +.. _node-quick-start-create-deployment: + +=========================== +Create a MongoDB Deployment +=========================== + +You can create a free tier MongoDB deployment on MongoDB Atlas +to store and manage your data. MongoDB Atlas hosts and manages +your MongoDB database in the cloud. + +.. procedure:: + :style: connected + + .. step:: Create a Free MongoDB deployment on Atlas + + Complete the :atlas:`Get Started with Atlas ` + guide to set up a new Atlas account and load sample data into a new free + tier MongoDB deployment. + + .. step:: Save your Credentials + + After you create your database user, save that user's + username and password to a safe location for use in an upcoming step. + +After you complete these steps, you should have a new free tier MongoDB +deployment on Atlas, database user credentials, and sample data loaded +in your database. + +.. include:: /includes/quick-start/troubleshoot.rst + +.. button:: Next: Create a Connection String + :uri: /quick-start/create-a-connection-string/ \ No newline at end of file diff --git a/source/quick-start/download-and-install.txt b/source/quick-start/download-and-install.txt new file mode 100644 index 000000000..52f699812 --- /dev/null +++ b/source/quick-start/download-and-install.txt @@ -0,0 +1,65 @@ +.. _node-quick-start-download-and-install: + +==================== +Download and Install +==================== + +.. procedure:: + :style: connected + + .. step:: Install Node and npm + + Ensure you have Node.js {+min-node-version+} or later and + npm (Node Package Manager) installed in your development environment. + + For information on how to install Node.js and npm, see + `downloading and installing Node.js and npm `__. + + .. step:: Create a Project Directory + + In your shell, run the following command to create a + directory called ``node_quickstart`` for this project: + + .. code-block:: bash + + mkdir node_quickstart + + Run the following command to navigate into the project + directory: + + .. code-block:: bash + + cd node_quickstart + + Run the following command to initialize your Node.js project: + + .. code-block:: bash + + npm init -y + + When this command successfully completes, you should have a ``package.json`` + file in your ``node_quickstart`` directory. + + + .. step:: Install the Node.js Driver + + Run the following command in your shell to install + the driver in your project directory: + + .. code-block:: bash + + npm install mongodb@{+version+} + + This command performs the following actions: + + - Downloads the ``mongodb`` package and the dependencies it requires + - Saves the package in the ``node_modules`` directory + - Records the dependency information in the ``package.json`` file + +After you complete these steps, you should have Node.js and npm installed +and a new project directory with the driver dependencies installed. + +.. include:: /includes/quick-start/troubleshoot.rst + +.. button:: Next: Create a MongoDB Deployment + :uri: /quick-start/create-a-deployment/ diff --git a/source/quick-start/next-steps.txt b/source/quick-start/next-steps.txt new file mode 100644 index 000000000..f15672dff --- /dev/null +++ b/source/quick-start/next-steps.txt @@ -0,0 +1,19 @@ +.. _node-quick-start-next-steps: + +========== +Next Steps +========== + +Congratulations on completing the quick start tutorial! + +In this tutorial, you created a Node.js application that +connects to a MongoDB deployment hosted on MongoDB Atlas +and retrieves a document that matches a query. + +Learn more about the {+driver-long+} from the following resources: + +- Discover how to perform read and write operations in the + :ref:`CRUD Operations ` section. + +- See examples of frequently-used operations in the + :ref:`Usage Examples ` section. From bd7b45ba8641b0ee28785d2842dfc8237f3311a4 Mon Sep 17 00:00:00 2001 From: Chris Cho Date: Fri, 24 Feb 2023 16:40:17 -0500 Subject: [PATCH 2/3] edits --- source/index.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/index.txt b/source/index.txt index e065db33c..437ffe161 100644 --- a/source/index.txt +++ b/source/index.txt @@ -4,10 +4,6 @@ MongoDB Node Driver .. _node-driver-landing: -.. default-domain:: mongodb - -.. include:: /includes/unicode-checkmark.rst - .. toctree:: :titlesonly: :maxdepth: 1 @@ -33,7 +29,7 @@ in JavaScript. Download it using `npm `__ or set up a runnable project by following our Quick Start guide. Quick Start ------------------- +----------- Learn how to establish a connection to MongoDB Atlas and begin working with data in the step-by-step :doc:`Quick Start `. From b3e2e1000dbc0f77b114c0ecd48bbe4f9c6f0977 Mon Sep 17 00:00:00 2001 From: Chris Cho Date: Mon, 27 Feb 2023 11:03:10 -0500 Subject: [PATCH 3/3] PRR fixes --- config/redirects | 9 ++++++++- source/quick-start/create-a-connection-string.txt | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/config/redirects b/config/redirects index d9b398762..ced3f609c 100644 --- a/config/redirects +++ b/config/redirects @@ -1,6 +1,6 @@ define: prefix docs/drivers/node define: base https://www.mongodb.com/${prefix} -define: versions v3.6 v3.7 v4.0 v4.1 v4.2 v4.3 v4.4 v4.5 v4.6 v4.7 v4.8 v4.9 v4.10 v4.11 v4.12 v4.13 v5.0 master +define: versions v3.6 v3.7 v4.0 v4.1 v4.2 v4.3 v4.4 v4.5 v4.6 v4.7 v4.8 v4.9 v4.10 v4.11 v4.12 v4.13 v5.0 v5.1 master symlink: current -> master @@ -11,3 +11,10 @@ raw: ${prefix}/stable -> ${base}/current/ [*-master]: ${prefix}/${version}/fundamentals/connection/lambda/ -> ${base}/${version}/fundamentals/connection/ [v4.7-*]: ${prefix}/${version}/fundamentals/csfle -> ${base}/${version}/fundamentals/encrypt-fields/ [*-v4.6]: ${prefix}/${version}/fundamentals/encrypt-fields -> ${base}/${version}/fundamentals/csfle/ + +[*-v5.0]: ${prefix}/${version}/quick-start/connect-to-mongodb/ -> ${base}/${version}/quick-start/ +[*-v5.0]: ${prefix}/${version}/quick-start/create-a-connection-string/ -> ${base}/${version}/quick-start/ +[*-v5.0]: ${prefix}/${version}/quick-start/create-a-deployment/ -> ${base}/${version}/quick-start/ +[*-v5.0]: ${prefix}/${version}/quick-start/download-and-install/ -> ${base}/${version}/quick-start/ +[*-v5.0]: ${prefix}/${version}/quick-start/next-steps/ -> ${base}/${version}/quick-start/ + diff --git a/source/quick-start/create-a-connection-string.txt b/source/quick-start/create-a-connection-string.txt index dbfed916f..d456a19f7 100644 --- a/source/quick-start/create-a-connection-string.txt +++ b/source/quick-start/create-a-connection-string.txt @@ -6,7 +6,7 @@ Create a Connection String You can connect to your MongoDB deployment by providing a **connection URI**, also called a *connection string*, which -instructs the driver how to connect to a MongoDB deployment +instructs the driver on how to connect to a MongoDB deployment and how to behave while connected. The connection string includes the hostname or IP address and