2014-11-21 5 views
1

Каков предпочтительный способ определения массива в схеме мангуста?Каков предпочтительный способ определения массива в мангусте?

Вот два, которые я нашел, но я не могу решить, какой из них лучше всего использовать.

var DocumentSchema = new mongoose.Schema({ 
    wayOne: [ 
    { 
     type: String 
    } 
    ], 

    wayTwo: { 
    type: [String] 
    }, 
}); 

Я бы предпочел второй путь, потому что я мог бы сделать что-то вроде

wayTwo: { 
    type: [String], 
    enum: ['one', 'two', 'three'], 
    default: [] 
} 

, и я не знаю, как сделать это с первым способом.

Короче говоря, я смотрю на какой-то старый код, который я не писал, и видел два способа использования, поэтому мне было интересно, что я должен что-то отметить об одном из способов, или если это будет безопасно стандартизировать преобразование всех наилучшим образом.

+0

'wayOne: []' работает тоже. –

+0

Я знаю, но заметьте, что он создаст смешанный тип, а не явно тип String –

+0

Я бы использовал номер один, но субъективное мнение –

ответ

1

Это зависит от того, какие данные у вас будут в массиве. Ответ, конечно, субъективен, потому что все способы, о которых вы говорите, работают. Какой из них лучше всего, однако, зависит от типа данных/структуры, которые вам понадобятся для вашей модели. Вы уже знаете ответ на этот вопрос? Возможно, с более подробной информацией мы сможем найти лучший/сфокусированный ответ для вас, но даже тогда все еще субъективно, потому что все они работают.

Редактировать Я бы использовал, кстати, первый.

+0

Если кто-нибудь придет к этому мышлению, знайте, что лучший способ кажется чисто субъективным, и вы можете выбрать тот, который вам больше всего нравится. –