2017-09-22 42 views
0

你好我還是新手,MongoDB中和的NodeJS 我希望能夠刪除的項目,並採取存儲在其陣列ID值,並將其刪除MongoDB的使用findAndModify刪除多個項目

的解釋,這裏是我董事會架構

{ 
    name: { 
    type: String, 
    required: 'Please check your name', 
    trim: true, 
    }, 
    userId: { 
    type: Number, 
    }, 
    private: { 
    type: Boolean, 
    default: true, 
    }, 
    cards: [{ type: Schema.Types.ObjectId, ref: 'Card' }], 
}; 

板架構中有卡陣列,我希望能夠在刪除板時,刪除存儲在其上的卡陣列卡,我用貓鼬,我試圖用findAndModify並返回錯誤

我也試過要使用該

const id = req.params.id; 
    const boardCards = Board.findById(id).cards; 
    try { 
    Board.deleteMany(
     { _id: id }, 
     (err, board) => { 
      Card.deleteMany(
      { _id: { $in: boardCards } }, 
      (err2, card) => { res.json(card); }, 
     ); 
     }, 
    ); 
    } catch (e) { 
    res.status(400).send({ error: 400, message: e }); 
    } 

,但它不工作

回答

0

我`噸工作,貓鼬,但在本地驅動程序,你需要你的扭曲身份證查詢

嘗試做

const id = mongoose.Types.ObjectId(req.params.id); //this has changed 
 
    const boardCards = Board.findById(id).cards; 
 
    try { 
 
    Board.deleteMany(
 
     { _id: id }, 
 
     (err, board) => { 
 
      Card.deleteMany(
 
      { _id: { $in: boardCards } }, 
 
      (err2, card) => { res.json(card); }, 
 
     ); 
 
     }, 
 
    ); 
 
    } catch (e) { 
 
    res.status(400).send({ error: 400, message: e }); 
 
    }