如何获取父文件mongoose的_id

时间:2016-10-26 22:15:26

标签: node.js mongodb express mongoose

我试图在快速路由器中实现一种方法,它会通过_id从父文档中删除嵌入的文档。

我的代码如下所示:

.hbs

<table class="table table-striped table-bordered">
    <tr>
        <th>Title</th>
        <th>Description</th>
    </tr>
    <tr>
        <td>{{movie.title}}</td>
        <td>{{movie.genre}}</td>
    </tr>
</table>
<br>
<table class="table table-striped table-bordered">
    <tr>
        <th>Author</th>
        <th>Comment</th>
        <th>Action</th>
    </tr>
    {{# each movie.comments}}
    <tr>
        <td>{{this.author}}</td>
        <td>{{this.comment}}</td>
        <td><a href="comment/delete/{{movie._id}}/{{this._id}}">Delete</a></td>
    </tr>
    {{/each}}
</table>

我可以轻松获得我的嵌入式文档的_id(单个评论),但我无法获得我的父级(电影)文档的_id。

在后端,一切似乎都没问题,但我收到404错误,因为movie._id为空,所以我的link(/movie/comment/delete//58111f46d7cf8730305e1d5c)与路由器中的模式不匹配。

我用这个填充了我的观点:

Movie.findById(req.params.id).populate('comments').exec(function(err, movie)

并渲染电影对象

1 个答案:

答案 0 :(得分:1)

由于#each中的上下文发生了变化,请尝试升级:

<a href="comment/delete/{{../movie._id}}/{{this._id}}">Delete</a>