我正在构建一个端点,该端点会将POSTS集合中某个帖子的“ deleted”属性更改为true(效果很好),然后在COMMENTS集合中找到所有响应该帖子的评论(我选择了另一条路线),并将它们的所有parentDeleted属性也都更改为true(这是我遇到的问题)。
这是删除帖子的途径:
router.delete('/:id', (req, res) => {
Post.findById(req.params.id).then(post => {
post.deleted = true
post.save().then(post => res.json(post))
})
.catch(err => res.status(404).json({ categories: 'No post found'}))
})
这是查找所有回复帖子的评论的途径:
router.get('/:id/comments', (req, res) => {
Comment.find({ parentId: req.params.id})
.then(posts => res.json(posts))
.catch(err => res.status(404).json({ categories: 'No post found'}))
})
我尝试将注释逻辑添加到发布逻辑中,并通过注释进行映射:
router.delete('/:id', (req, res) => {
Post.findById(req.params.id).then(post => {
post.deleted = true
post.save()
}).then(post => {
Comment.find({ parentId: req.params.id})
.then(comments => {
comments.map((comment) => {
return comment.parentDeleted = true
})
})
})
.then(post => res.json(post))
.catch(err => res.status(404).json({ categories: 'No post found'}))
})
帖子的已删除状态更改为true,但评论的parentDeleted状态保持为false。有什么建议么?这是我发布的第一个问题,因此对礼节的任何反馈也将不胜感激。
答案 0 :(得分:0)
欢迎,@ dcortes!
从您发布的代码中可以看出,将它们的parentDeleted值更改为true后,您没有保存注释。
因此,对于代码的相关部分,类似的方法可能会更好:
<Image
style={styles.arrayPictures}
key={newPicture}
source={{uri: `data:image/png;base64,${newPicture}`}}
/>
我不确定要保存注释后要做什么,所以我刚刚返回了comment.save()的结果。
请注意,如果您的更广泛的问题是:“是否可以使用一个端点修改多个集合?”答案肯定是。