Есть ли способ предотвратить появление MongoDB множественной формы для имен коллекций?

Все работает отлично, пока я не хочу создать коллекцию под названием "Мыши", например. Мыши и Мыши неприемлемы. Было бы неплохо, если бы была возможность установить это в конфиге. Комментарии: спасибо за предложение, я использую Mongoose.

Ответ 1

Если вы назовете вашу "мышь" модели, Mongoose на самом деле плюрализует имя коллекции "мышам" (см. исходный код).

Но вы также можете явно указать свою коллекцию при создании модели, передав ее в качестве третьего параметра в model:

var Mice = mongoose.model('Mice', MouseSchema, 'Mice');

Ответ 2

Структура API mongoose.model такова: Модель Mongoose # (имя, [схема], [коллекция], [skipInit])

Что такое мангуста, так это: Когда аргумент коллекции не передан, Mongoose создает имя коллекции, плюризуя имя модели. Если вам не нравится это поведение, либо передайте имя коллекции, либо укажите опцию имени коллекции схем.

Пример

var schema = new Schema ({name: String}, {collection: 'actor'});

//или

schema.set('collection', 'actor');

//или

var collectionName = 'actor' var M = mongoose.model('Actor', schema, collectionName);

Для получения дополнительной информации проверьте эту ссылку: http://mongoosejs.com/docs/api.html#index_Mongoose-model