Tried all posted suggestions - Still not passing - SOLVED


Reading through the forums it seems that most people were able to get a pass by adjusting their dependency versions for mongodb and mongoose. I have tried a dozen different settings and always get the same fail message and console warnings. I have tried using the new functions with the newest versions of mongodb and mongoose installed and cannot get the pass that way either.

My code on Replit:

boilerplate-mongomongoose - Replit

Console feed:

(node:12100) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
Your app is listening on port 3000
(node:12100) DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36

Challenge: Delete Many Documents with model.remove()

Link to the challenge:

Did you try doing this yet?

1 Like

If I fork your code and use my own DB it passes that test. I would try removing the mongoose dependency and re-add it again.

You can do it from the Terminal tab as well.

npm rm mongoose
npm i -E mongoose@5.4.0
1 Like


I just tried replacing my original connect function with:

mongoose.connect(process.env[‘MONGO_URI’], { useNewUrlParser: true });

and now it throws a new error :

MongoError: database name must be a string
at Function.create (/home/runner/boilerplate-mongomongoose/node_modules/mongodb-core/lib/error.js:43:12)

It exits right away after error is thrown.


I tried removing and re-installing and it throws the same console messages and fails…

That means your MONGO_URI does not have a database name at the end of it.

It should look something like:


That fixed it! Interesting that I was able to write to the DB using the same URI.

Thanks again Randell!