76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| id: 587d7fb6367417b2b2512c06
 | ||
| title: Install and Set Up Mongoose
 | ||
| challengeType: 2
 | ||
| forumTopicId: 301540
 | ||
| dashedName: install-and-set-up-mongoose
 | ||
| ---
 | ||
| 
 | ||
| # --description--
 | ||
| 
 | ||
| In this challenge, you will import the required projects, and connect to your Atlas database.
 | ||
| 
 | ||
| # --instructions--
 | ||
| 
 | ||
| Add `mongodb` and `mongoose` to the project’s `package.json`. Then, require mongoose as `mongoose` in `myApp.js`. Store your MongoDB Atlas database URI in a private `.env` file as `MONGO_URI`. Surround the the URI with single or double quotes, and make sure no space exists between both the variable and the `=`, and the value and `=`. Connect to the database using the following syntax:
 | ||
| 
 | ||
| ```js
 | ||
| mongoose.connect(<Your URI>, { useNewUrlParser: true, useUnifiedTopology: true });
 | ||
| ```
 | ||
| 
 | ||
| # --hints--
 | ||
| 
 | ||
| "mongodb" dependency should be in package.json
 | ||
| 
 | ||
| ```js
 | ||
| (getUserInput) =>
 | ||
|   $.get(getUserInput('url') + '/_api/file/package.json').then(
 | ||
|     (data) => {
 | ||
|       var packJson = JSON.parse(data);
 | ||
|       assert.property(packJson.dependencies, 'mongodb');
 | ||
|     },
 | ||
|     (xhr) => {
 | ||
|       throw new Error(xhr.responseText);
 | ||
|     }
 | ||
|   );
 | ||
| ```
 | ||
| 
 | ||
| "mongoose" dependency should be in package.json
 | ||
| 
 | ||
| ```js
 | ||
| (getUserInput) =>
 | ||
|   $.get(getUserInput('url') + '/_api/file/package.json').then(
 | ||
|     (data) => {
 | ||
|       var packJson = JSON.parse(data);
 | ||
|       assert.property(packJson.dependencies, 'mongoose');
 | ||
|     },
 | ||
|     (xhr) => {
 | ||
|       throw new Error(xhr.responseText);
 | ||
|     }
 | ||
|   );
 | ||
| ```
 | ||
| 
 | ||
| "mongoose" should be connected to a database
 | ||
| 
 | ||
| ```js
 | ||
| (getUserInput) =>
 | ||
|   $.get(getUserInput('url') + '/_api/is-mongoose-ok').then(
 | ||
|     (data) => {
 | ||
|       assert.isTrue(data.isMongooseOk, 'mongoose is not connected');
 | ||
|     },
 | ||
|     (xhr) => {
 | ||
|       throw new Error(xhr.responseText);
 | ||
|     }
 | ||
|   );
 | ||
| ```
 | ||
| 
 | ||
| # --solutions--
 | ||
| 
 | ||
| ```js
 | ||
| /**
 | ||
|   Backend challenges don't need solutions, 
 | ||
|   because they would need to be tested against a full working project. 
 | ||
|   Please check our contributing guidelines to learn more.
 | ||
| */
 | ||
| ```
 |