Что такое pluralizes?
Прохожу американские курсы онлайн по программированию.
Задал вопрос в "вопросы и ответы" Здесь поиск по базе с помощью библиотеки mongoose Todo.find().then((a) => { console.log(a); done(); }).catch((e) => done(e)); How does it know what to look for in the Todos collection and not in the Users collection? Пришел ответ: The collection name comes from the first argument we pass to mongoose.model. Mongoose converts it to lowercase and then pluralizes it, so "Todo" becomes "todos" Вроде все с большего понятно, единственное что такое pluralizes? Как это работает |
plural => множественное число
|
Ну, во-первых, TODO - это устоявшаяся идиома (от "to do", т.е. "делать"), означающая нечто вроде "что-то конкретное на этом месте будет сделано".
Во-вторых, авторы драйвера Mongoose стараются предложить пользователям некую унифицированную логику. А именно: Слово "модель" подразумевает, что это модель единичного объекта ("инстанса", так сказать) - следовательно, вполне логично давать имя модели в единственном числе - "Book" (но это не обязательно, и любой упёртый кодер может назвать модель "Books"). Слово "коллекция" подразумевает в качестве содержания множество однотипных объектов - следовательно, вполне логично давать имена коллекциям в базе во множественном числе - "books" (но это не обязательно, и тот же упёртый кодер может создать в самой базе коллекцию с именем "book"). Вот и всё. Основываясь на такого рода рассуждениях, авторы драйвера научили его преобразовывать - во время создания коллекции (и, соответственно, последующем обращении к ней) - имя модели к множественному числу (она даже делает это "грамотно", то есть не только дописывает букву "s" к хвосту, но от имени модели "Galery", допустим, создаёт коллекцию "galeries"). Извините за внимание. |
Часовой пояс GMT +3, время: 07:25. |