Reputation: 5902
I'm using Node.js program to insert data into a MongoDB database. I have inserted data into a collection named "repl-failOver".
var mongoClient = require("mongodb").MongoClient;
mongoClient.connect("mongodb://localhost:30002/test", function(err, db) {
if (err) throw err;
db.collection("repl-failOver").insert( { "documentNumber" : document++}, function (err, doc) {
if (err) throw err;
console.log(doc);
});
db.close();
});
When I use the Mongo shell and list down the collections in the database using show collections
I am able to see the collection "repl-failOver".
How do I run a find command from the mongo shell for this collection?
Upvotes: 88
Views: 49000
Reputation: 222511
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(...)
Upvotes: 8
Reputation: 42048
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()
Upvotes: 170