2014-01-24 5 views
0

Я смотрел код в node.js, express, mongoose. Это определение схемы:Что это за декларация? функция? класс?

var Comment = new Schema({ 
    username : String, 
    content : String, 
    created : Date 
}); 

Я не понимаю, что это Actaully есть, потому что

var Comment = 

Это как функция/переменная

new Schema 

подобен классу и

{ 
     username : String, 
     content : String, 
     created : Date 
    } 

- как ассоциативный массив ...

Что это за блок? и как это работает?

спасибо

+0

Это схема коллекции – Sekai

+2

это вызов конструктора передачи объекта Анон заполняется глобалов, которая возвращает объект. – dandavis

+1

Не зная деталей, вы просто присваиваете экземпляр 'Schema'' Comment'. Литеральный объект является аргументом для конструктора 'Schema'. Что конкретно вы не понимаете? В этом синтаксисе нет ничего необычного, кроме конструкторов объектов 'String',' Date' и т. Д. ... – elclanrs

ответ

1

Это объектно-ориентированный стиль JavaScript, особенно концепция представления модели контроллера.

Что вы описываете в своих примерах здесь, называется моделью. Он определяет, как данные, которые вводятся и вписываются в концепцию.

Таким образом, эта модель будет называться комментарием, и она будет содержать имя пользователя, содержимое как строки и создаваться как дата. Это было бы легко сохранить в базе данных позже, позвонив, например.

Comment.save(); 

«Новая схема» сообщает двигателю, что новая модель должна быть создана.

Пожалуйста, смотрите также здесь: http://mongoosejs.com/docs/guide.html

+0

Вы правы. Измените это, чтобы избежать путаницы. – HappyCoder

Смежные вопросы