2016-07-15 1 views
0

Есть ли способ сохранить схему внутри другой? Потому что я пытался сделать это без каких-либо результатов, поскольку встроенная схема не была сохранена. Вот мои схемы:Как сохранить схемы внутри схем с помощью мангуста?

var event = mongoose.Schema({ 
    name: String, 
    location: String 
}); 

var user = mongoose.Schema({ 
    name: String, 
    events: [event] 
}); 

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

Я использовал функцию Model.save() из мангуста, но я не знаю о существовании какой-либо другой функции сохранения документов в базу данных Монго. Кроме того, когда я запрашиваю базу данных и извлекаю сохраненные данные, она показывает events: [], поэтому данные не были сохранены. Есть идеи?

EDIT: Это код, который я использовал для создания объекта:

var kratos = new user({ 
    name: 'Kratos', 
    events: [ 
     { 
      name: 'Kill gods', 
      location: 'Bay shore' 
     },{ 
      name: 'Collect orbs', 
      location: 'Olympus' 
     } 
    ] 
}); 
+0

Возможный дубликат - http://stackoverflow.com/questions/8737082/mongoose-schema-within-schema – deeveeABC

+0

Это ссылка спрашивает, как добавить схему к другому. Я уже сделал это, моя основная проблема заключается в том, что он не хранится в db. – ixman

ответ

0

Я думаю, вы можете сделать это как простое решение, хотя?

var user = mongoose.Schema({ 
    name: String, 
    events: { 
     name: String, 
     location: String 
    } 
}); 
+0

Могу ли я сохранить так много событий? – ixman

0

Изменить модель пользователя слегка следующее:

var User = mongoose.Schema({ 
    name: String, 
    events: [] 
}); 

Затем, вам нужно создать новый объект события. Что-то, как это будет делать:

var events = []; 

var newEvent = new Event({ 
    name : "Name", 
    location: "Place" 
}); 

events.push(newEvent); 

var kratos = new User({ 
    name: 'Kratos', 
    events: events 
});