Setting the collection name
Having a default collection name is great when you're creating an application from scratch, but what if you're using an existing database with collection names that don't match this approach?
There are two ways of specifying a different collection name
Using either the schema declaration, or
The model command
Overriding the collection name in the schema
To specify a collection name when defining a schema you need to send a second argument to the new mongoose.Schema
call.
Say we have an existing collection called myuserlist
that we want to use with our userSchema
, the following snippet is how we would do it:
var userSchema = new mongoose.Schema({ name: String, email: { type: String, unique:true } }, { collection: 'myuserlist' });
Overriding the collection name in the model
To specify the collection name when building a model you send a third argument to the mongoose.model
command.
Using the same example as before, here's how it looks when setting the collection...