Folks my code does not work for some reason, i try and try but not passed the test
i put this code in myApp.js
but i do not passed the test.
somebody knows why?
const removeManyPeople = (done) => {
const nameToRemove = "Mary";
Person.deleteMany({name: nameToRemove}, (err, response) => {
if(err) return console.log(err);
done(null, response.deletedCount);
})
};
This print in my console:
(node:5764) [MONGODB DRIVER] Warning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.
SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse ()
at /home/runner/boilerplate-mongomongoose/server.js:346:29
at /home/runner/boilerplate-mongomongoose/node_modules/mongoose/lib/model.js:4919:18
Your project link(s)
solution:
require('dotenv').config({ path: 'uriDB.env' });
const mongodb = require("mongodb");
const mongoose = require("mongoose");
const {Schema} = mongoose;
mongoose.connect(process.env.MONGO_URI)
const personSchema = new Schema({
name : String,
age : Number,
favoriteFoods : [String]
});
var Person = mongoose.model("Person", personSchema);
const createAndSavePerson = (done) => {
var janeFonda = new Person({name:"Jane Fonda", age: 84, favoriteFoods:["eggs", "fish", "fresh fruit"]})
janeFonda.save(function(err, data){
if(err) return console.error(err)
done(null,data);
});
};
var arrayOfPeople = [
{name:"Jane Fonda", age: 84, favoriteFoods:["eggs"]},
{name:"Jane Fonda", age: 84, favoriteFoods:["fish"]},
{name:"Jane Fonda", age: 84, favoriteFoods:["fresh fruit"]}
];
const createManyPeople = (arrayOfPeople, done) => {
Person.create(arrayOfPeople, function(err, person){
if(err) return console.log(err);
done(null,person);
});
};
const findPeopleByName = (personName, done) => {
Person.find({name: personName}, function(err, ser){
if(err) return console.log(err);
done(null, ser);
})
};
const findOneByFood = (food, done) => {
Person.findOne({favoriteFoods: food}, function(err, ser){
if(err) return console.log(err)
done(null,ser);
})
};
const findPersonById = (personId, done) => {
Person.findById({ _id : personId }, function(err, ser){
if(err) return console.log(err)
done(null, ser);
})
};
const findEditThenSave = (personId, done) => {
var foodToAdd = "hamburger";
Person.findById({ _id : personId}, function(err, person){
if(err) return console.log(err)
person.favoriteFoods.push(foodToAdd);
person.save(function(err, updatePerson){
if(err) return console.log(err);
done(null,updatePerson)
})
})
};
// const findAndUpdate = (personName, done) => {
// const ageToSet = 20;
// Person.findOne({ name : personName }, (err, person) =>{
// if(err) return console.log(err)
// person.age = ageToSet;
// person.save((err, updatePerson)=>{
// if(err) return console.log(err)
// done(null,updatePerson);
// })
// })
// };
const findAndUpdate = (personName, done) => {
const ageToSet = 20;
Person.findOneAndUpdate({ name : personName },{ age : ageToSet}, {new : true}, (err, updateDocument) =>{
if(err) console.log(err)
done(null, updateDocument)
}
)
};
const removeById = (personId, done) => {
Person.findByIdAndRemove({ _id : personId }, (err, deleteDocument) =>{
if(err) console.log(err)
done(null, deleteDocument)
}
)
};
// Person.findByIdAndRemove(
// personId,
// (err, removedDoc) => {
// if(err) return console.log(err);
// done(null, removedDoc);
// }
// );
// const removeManyPeople = (done) => {
// const nameToRemove = "Mary";
// Person.removedMany({name: nameToRemove}, (err, response) => {
// if(err) return console.log(err);
// done(null, response);
// })
// };
const removeManyPeople = (done) => {
const nameToRemove = "Mary";
Person.deleteMany({name: nameToRemove}, (err, response) => {
if(err) return console.log(err);
done(null, response.deletedCount);
})
};
// const removeManyPeople = (done) => { const nameToRemove = "Mary"; Person.remove({name: nameToRemove}, (err, response) => { if(err) return console.log(err); done(null, response); }) };
// Person.remove({name: nameToRemove}, (err, response) => {
// if(err) return console.log(err);
// done(null, response);
// })
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;
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
Challenge: Delete Many Documents with model.remove()
Link to the challenge: