Mongoose.js:IDで深い埋め込みドキュメントを更新するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/9300098

質問

を使用して、複数のレベルの深さの埋め込みドキュメントを更新するにはどうすればよいですか _id 更新したいアイテムの?

たとえば、モデルファイルに次のことがある場合:

var Subitems = new Schema({
  "title": String,
  "body": String
)}

var Items = new Schema({
  "title": String,
  "subitems": [Subitems]
)};

var Projects = new Schema({
  "title": String,
  "description": String,
  "items": [Items]
});

var exports = module.exports = mongoose.model('Project', Projects);

どのように更新しますか body 私の一人の subitems 私が知っているところ _idsubitems エレメント?

私は最初にプロジェクトを見つけ(十分に簡単)、次にプッシュすると思います subitems プロジェクトを保存します。問題は、その上のすべてを繰り返すことなく、どのようにして複数のレベルの深い埋め込みにプッシュするのですか?それによってそれをすることができますか _id ?

役に立ちましたか?

解決

わかりました、私はそれを理解しただけだと思います。面白いのは、そう投稿した直後にいつもそれが起こる:)

これが私がしたことです、より良い/異なる方法があるかどうかを教えてください:

var myitem  = req.project.items.id(item_id);
myitem.body = req.body.item.body;

req.project.save(function (err){
  //woohoo! updated the embedded doc with the new values!      
});

私は、このSO投稿で選択された答えのアドバイスに従ってそれを理解しました:Mongooseで組み込みドキュメントを更新する方法は?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top