Почему мангуста всегда добавляет s в конец имени моей коллекции

Например, этот код приводит к созданию коллекции под названием «datas»

var Dataset = mongoose.model('data', dataSchema); 

И этот код приводит к созданию коллекции под названием «пользователи»

 var User = mongoose.model('user', dataSchema); 

благодаря

4 Solutions collect form web for “Почему мангуста всегда добавляет s в конец имени моей коллекции”

Мангуст пытается быть умным. Однако вы можете заставить его быть тем, кем хотите:

var dataSchema = new Schema({..}, { collection: 'data' })

Структура API mongoose.model такова:

 Mongoose#model(name, [schema], [collection], [skipInit]) 

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

Пример:

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

или

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

или

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

Вы можете просто добавить строку в качестве третьего аргумента, чтобы определить фактическое имя коллекции. Расширяя ваши примеры, чтобы сохранить имена как data и user соответственно:

 var Dataset = mongoose.model('data', dataSchema, 'data'); var User = mongoose.model('user', dataSchema, 'user'); 

Вы можете добавить имя коллекции в качестве третьего параметра. См. Пример с помощью TypScript:

 import DataAccess = require('../DataAccess'); import IUser = require("../../Models/Interfaces/IUser"); var mongoose = DataAccess.mongooseInstance; var mongooseConnection = DataAccess.mongooseConnection; class UserSchema { static get schema () { var schema = mongoose.Schema({ _id : { type: String }, Name: { type: String, required: true }, Age: { type: Number, required: true } }); return schema; } } var schema:any = mongooseConnection.model("User", UserSchema.schema,"User"); export = schema; 
  • NodeJS: сохранение образа с кодировкой base64 на диск
  • Как сохранить настройки / файлы конфигурации Node.js?
  • Правильный способ возврата JSON с помощью узла или Express
  • Не удается выполнить авторизацию после вызова quit
  • Маршрутизация Express.js: необязательный параметр с плавающей запятой?
  • Как перенаправить в expressjs при передаче некоторого контекста?
  • Как передать аргументы командной строки программе Node.js?
  • Понимание пассива сериализации десериализации
  • node.js fs.readdir рекурсивный поиск в каталоге
  • Как установить предыдущую версию пакета npm?
  • Время ожидания ответа Express.js
  • Interesting Posts

    Что делает компилятор точно в срок (JIT)?

    Передача агента SSH не работает

    Предотвратить отправку спама с помощью учетной записи Yahoo?

    Как читать документацию API для newbs?

    Как создать связь по умолчанию для файлов с неизвестным расширением в Windows 7?

    Операция сравнения для целых чисел без знака и знака

    Установка Windows 8 с использованием ISO из XP

    Аутентификация веб-API ASP.NET MVC 4 с помощью поставщика членства

    почему ngOnInit вызывается дважды?

    Осевая ось X в R

    Как изменить содержание в Word 2010, чтобы отображать только заголовки 1-3?

    Как запустить графический Emacs Mac OSX в режиме демона?

    Как рассказать рассказчику Windows 8 читать только то, что я конкретно скажу, чтобы он читал и оставался абсолютно безмолвным в противном случае?

    Как показать удобную страницу ошибок в браузере, когда исключение среды выполнения выбрано сервлетом?

    Какова цель flush () в streamах Java?

    Давайте будем гением компьютера.