Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点将URL中的数组元素传递到Mustach模板中的路由_Javascript_Node.js_Express_Mustache - Fatal编程技术网

Javascript 节点将URL中的数组元素传递到Mustach模板中的路由

Javascript 节点将URL中的数组元素传递到Mustach模板中的路由,javascript,node.js,express,mustache,Javascript,Node.js,Express,Mustache,我有一个用NodeJS/Express开发的应用程序,它使用Mustache模板。我正在尝试添加功能来删除数据库架构中数组中的特定项 如何传递要在URL路由中使用的特定数组元素,以便随后将其传递给控制器 这是我的模板: {{#entries}} <h2>Achievements for {{dateCreated}}</h2> <div> {{#achievements}} <h3>{{.}}</h3>

我有一个用NodeJS/Express开发的应用程序,它使用Mustache模板。我正在尝试添加功能来删除数据库架构中数组中的特定项

如何传递要在URL路由中使用的特定数组元素,以便随后将其传递给控制器

这是我的模板:

{{#entries}}
    <h2>Achievements for {{dateCreated}}</h2>
    <div>

    {{#achievements}}
    <h3>{{.}}</h3>      //single element in the array
    {{/achievements}}
    
    </div>

    <a href='/planner/achievements/delete/{{_id}}' alt='delete goal1'><i class='fas fa-trash' style='font-size:24px'></i></a>    
//How do I add the array item to this href?
{{/entries}}

//I can add {{.}} to the end of the href but this causes problems in the route file

exports.delete_achievement = function(req, res) {
    console.log('ID of plan', req.params.id);
    //console.log('Array item to be deleted', req.params.?);

    //db.deleteAchievement(req.params.id, req.params.?);
}
和用于呈现模板的我的控制器文件:

{{#entries}}
    <h2>Achievements for {{dateCreated}}</h2>
    <div>

    {{#achievements}}
    <h3>{{.}}</h3>      //single element in the array
    {{/achievements}}
    
    </div>

    <a href='/planner/achievements/delete/{{_id}}' alt='delete goal1'><i class='fas fa-trash' style='font-size:24px'></i></a>    
//How do I add the array item to this href?
{{/entries}}

//I can add {{.}} to the end of the href but this causes problems in the route file

exports.delete_achievement = function(req, res) {
    console.log('ID of plan', req.params.id);
    //console.log('Array item to be deleted', req.params.?);

    //db.deleteAchievement(req.params.id, req.params.?);
}
DB模式类似于以下内容:

user: 'someone',
age: 18,
achievements: [
     'achievement 1',
     'achievement 2'
]
和我的数据库更新方法:

deleteAchievement(id, arrayElement) {
        this.db.update({ _id: id }, { $pull: { achievements: arrayElement } }, {},
            function (err, docs) {
                if (err) {
                    console.log('Error in deleteAchievement', err);
                } else {
                    console.log(docs, 'achievement deleted');
                }
            }
        );
    }
感谢您的帮助。谢谢