2014-02-04 1 views
1

У меня есть мангуста схема:Mongoosejs найти с полем выберите возвращает нежелательную массив

var schema = mongoose.Schema({ 
     name: 'string', 
     title: 'string' 
     tracks: [trackSchema], 
    }); 

При попытке выбрать записи и ограничить выбранные поля:

Model.find({}).select('name').exec(cb) 

результат включает _id, имя и дорожки полей (он не включает «название»). Но почему он включает треки?

можно исключить это только делает:

Model.find({}).select('-tracks').exec(cb) 

Так интересно, что происходит и как я могу выбрать только «имя» подал

Mongoose 3.8.6

+0

И вы не используете 'select: true' в своей схеме? – robertklep

+0

Да, вы правы, внутри моей trackSchema. Спасибо. Вы можете отправить ответ, я проверю его как правильное. – WHITECOLOR

+0

Ну, мне сейчас интересно: потому что у вас есть 'select: true' в' trackSchema', он был добавлен к результатам запроса на другой модели ('Model')? – robertklep

ответ

0

Решено, спасибо to @robertklep

Проблема заключалась в том, что trackSchema для одного из своих полей содержал:

var trackSchema = mongoose.Schema({ 
    prop: {type: {....}, select: true} 
}); 
Смежные вопросы