Files
freeCodeCamp/curriculum/challenges/english/05-apis-and-microservices/mongodb-and-mongoose/install-and-set-up-mongoose.md
Oliver Eyton-Williams 0bd52f8bd1 Feat: add new Markdown parser (#39800)
and change all the challenges to new `md` format.
2020-11-27 10:02:05 -08:00

1.9 KiB
Raw Blame History

id, title, challengeType, forumTopicId
id title challengeType forumTopicId
587d7fb6367417b2b2512c06 Install and Set Up Mongoose 2 301540

--description--

In this challenge, you will import the required projects, and connect to your Atlas database.

--instructions--

Add mongodb and mongoose to the projects 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:

mongoose.connect(<Your URI>, { useNewUrlParser: true, useUnifiedTopology: true });

--hints--

"mongodb" dependency should be in package.json

(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

(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

(getUserInput) =>
  $.get(getUserInput('url') + '/_api/is-mongoose-ok').then(
    (data) => {
      assert.isTrue(data.isMongooseOk, 'mongoose is not connected');
    },
    (xhr) => {
      throw new Error(xhr.responseText);
    }
  );

--seed--

--solutions--

/**
  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.
*/