如何使用nodejs为网站创建标记系统?

时间:2019-12-18 19:04:50

标签: javascript node.js mongodb express tagging

我正在使用Node js创建CMS博客,但是我无法为帖子创建标签系统,我希望将此标签系统连接到MongoDB,以便可以对每个标签进行CRUD操作并搜索帖子根据他们的标签。

我为前端创建了这些代码:

//enter something in textbox and press enter....
var tags = [];
$(document).ready(function () {

    $('body').on('click', 'span.cross', function () {
        var removedItem = $(this).parent().contents(':not(span)').text();
        $(this).parent().remove();
        tags = $.grep(tags, function (value) {
            return value != removedItem;
        });
    });

    $("#textBox").keypress(function (e) {
        if (e.which === 13) {
            $(".target").append("<a href='#' class='tag' >" + this.value + '<span class="cross">X</span>' + "</a>");

            tags.push(this.value);
            this.value = "";
        }
    });
});

演示:http://jsfiddle.net/IrvinDominin/pDFnG/

我的问题从这里开始,我不知道帖子标签的性质,因此我无法为此编写任何代码,您建议我做什么?

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是将标签元素作为数组保存到每个后置文档中,并在其中简单地存储字符串列表。 然后,用户可以指定所需的标签,而代码不需要知道它们是什么,只需存储它们即可。

Mongo然后可以为您提供所有标签的明确列表:

redirect_to

并搜索包含特定标签或标签列表的所有帖子:

db.posts.distinct('tags')

那是我在此处编写的CLI命令,如果您使用的是Mongoose或类似的命令,它们将略有不同。

有帮助吗?