2016-07-15 5 views
0

別のスキーマにスキーマを保存する方法はありますか?なぜなら、埋め込まれたスキーマは保存されていないので、私は結果を出さずにこれをしようとしていたからですここに私のスキーマです:mongooseを使ってスキーマをスキーマ内に保存する方法は?

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

リンクは別のものにスキーマを追加する方法を尋ねること。私はすでにそれをしました、私の主な問題は、データベースに格納されていないということです。 – ixman

答えて

0

私はあなたがが簡単な解決策として、これを行うことができますね?

​​
+0

そのように多くのイベントを保存できますか? – ixman

0

変更し、わずかに次のUserモデル:

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 
}); 
関連する問題