Tell us what’s happening:
require('dotenv').config();
const mongoose = require("mongoose");
const dotenv = require('dotenv');
dotenv.config(); // Load the environment variables from .env
const mongoURI = process.env.MONGO_URI;
mongoose.connect(mongoURI, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log('Connected to MongoDB Atlas!');
// Your other code goes here
})
.catch((err) => {
console.error('Error connecting to MongoDB Atlas:', err.message);
});
var Schema = mongoose.Schema;
let personSchema = new Schema({
name: {type: String, required: true},
age: Number,
favoriteFoods: [String]
});
var Person = mongoose.model('Person', personSchema);
let joe = new Person ({name : 'joe', age: 30, favoriteFoods: ['Pizza']})
joe.save((error, data) => {
if(error) {
console.log(error)
} else {
return done(null, data)
}
})
const createAndSavePerson = (done) => {
done(null /*, data*/);
};
const createManyPeople = (arrayOfPeople, done) => {
done(null /*, data*/);
};
const findPeopleByName = (personName, done) => {
done(null /*, data*/);
};
const findOneByFood = (food, done) => {
done(null /*, data*/);
};
const findPersonById = (personId, done) => {
done(null /*, data*/);
};
const findEditThenSave = (personId, done) => {
const foodToAdd = "hamburger";
done(null /*, data*/);
};
const findAndUpdate = (personName, done) => {
const ageToSet = 20;
done(null /*, data*/);
};
const removeById = (personId, done) => {
done(null /*, data*/);
};
const removeManyPeople = (done) => {
const nameToRemove = "Mary";
done(null /*, data*/);
};
const queryChain = (done) => {
const foodToSearch = "burrito";
done(null /*, data*/);
};
/** **Well Done !!**
/* You completed these challenges, let's go celebrate !
*/
//----- **DO NOT EDIT BELOW THIS LINE** ----------------------------------
exports.PersonModel = Person;
exports.createAndSavePerson = createAndSavePerson;
exports.findPeopleByName = findPeopleByName;
exports.findOneByFood = findOneByFood;
exports.findPersonById = findPersonById;
exports.findEditThenSave = findEditThenSave;
exports.findAndUpdate = findAndUpdate;
exports.createManyPeople = createManyPeople;
exports.removeById = removeById;
exports.removeManyPeople = removeManyPeople;
exports.queryChain = queryChain;
Returns the following error on server start:
Your app is listening on port 3000
Connected to MongoDB Atlas!
events.js:292
throw er; // Unhandled ‘error’ event
^
ReferenceError: done is not defined
Your project link(s)
solution:
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
Challenge: MongoDB and Mongoose - Create and Save a Record of a Model
Link to the challenge: