2013-08-17 2 views
1

스키마 :은 부모에게받지 않고 몽구스의 subdoc 배열을 업데이트

내가 뭐하는 거지 기존 페이지에 새보기를 추가하기 위해
var viewSchema = new Schema({ 
    active: Boolean 
    , path: String 
}) 

var pageSchema = new Schema({ 
    name: String 
    , desc: String 
    , url: String 
    , views: [viewSchema] 
}) 

:

Page 
    .findOne({ id: pageId }) 
    .exec(function (err, page) { 
     page.views.push({ path: path }) 
     page.save(function(err) { 
      //saved 
     }) 
    }) 

가 할 수있는 방법이 있나요 페이지를 실제로 얻지 않고도 동일합니까?

Page.update({ id: pageId } 
      , { SOMETHING } 
      , function(err){ 
      //updated 
      }) 
+0

당신이 [findAndModify] 봤어 @ findAndModify /) 이렇게하면 한 번의 작업으로 문서를 찾고 값을 업데이트 할 수 있습니다. –

+0

몽구스에서 비슷한 것을하기 위해 사용 된'fireAndModify'의 예가 있습니까? 고맙습니다. – fusio

+0

내가 할 수있는 방법은 몽고 쉘에서 명령을 시도하는 것입니다. 일단 거기에서 작업하면 몽구스와 거의 동일하게 전송할 수 있어야합니다. –

답변

1

그것은 작동 ..

Page.update({ _id: page.id},{ $push: { "views": { path: "#page", active: true } } }) 

감사 http://docs.mongodb.org/manual/reference/command/ (알리스 테어 - 넬슨

관련 문제