在Mongoose中更新子数组而不获取父数据

时间:2013-08-17 14:33:23

标签: javascript mongoose

架构:

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 
          })

1 个答案:

答案 0 :(得分:2)

有效..

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

感谢@ Alistair-Nelson