MongoDB collection hyphenated name

Solution 1:

Use this syntax:

db['repl-failOver'].find({})

or

db.getCollection('repl-failOver').find({})

You can find more information in the Executing Queries section of the manual:

If the mongo shell does not accept the name of the collection, for instance if the name contains a space, hyphen, or starts with a number, you can use an alternate syntax to refer to the collection, as in the following:

db["3test"].find()

db.getCollection("3test").find()

Solution 2:

You are getting this error from accessing collections with specific characters (-, _, ). I explained the workaround here, but basically all you need is to do

db.getCollection("repl-failOver").insert(...)