如何使用 nodejs 为网站创建标签系统?
how to create a tagging system with nodejs for website?
我正在使用 Node js
创建一个 CMS 博客,但我未能为 post 创建标签系统,我希望将此标签系统连接到 MongoDB,所以我可以对每个标签做增删改查,根据标签搜索posts
我为前端创建了这些代码:
//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/
我的问题从这里开始,我不知道 post 标签的性质,所以我不能为此编写任何代码,你建议我做什么?
最简单的解决方案是将标签元素作为数组保存到每个 post 文档中,并在其中简单地存储一个字符串列表。
然后用户可以指定他们想要的标签,代码不需要知道它们是什么,它只是存储它们。
Mongo 然后可以为您提供所有标签的不同列表:
db.posts.distinct('tags')
然后搜索任何包含特定标签或标签列表的 post:
db.posts.find({tags: {$in: ['tag1', tag2', 'tag3']}})
这是我在那里写的 CLI 命令,如果您使用 Mongoose 或类似的命令,它们会略有不同。
有帮助吗?
我正在使用 Node js
创建一个 CMS 博客,但我未能为 post 创建标签系统,我希望将此标签系统连接到 MongoDB,所以我可以对每个标签做增删改查,根据标签搜索posts
我为前端创建了这些代码:
//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/
我的问题从这里开始,我不知道 post 标签的性质,所以我不能为此编写任何代码,你建议我做什么?
最简单的解决方案是将标签元素作为数组保存到每个 post 文档中,并在其中简单地存储一个字符串列表。 然后用户可以指定他们想要的标签,代码不需要知道它们是什么,它只是存储它们。
Mongo 然后可以为您提供所有标签的不同列表:
db.posts.distinct('tags')
然后搜索任何包含特定标签或标签列表的 post:
db.posts.find({tags: {$in: ['tag1', tag2', 'tag3']}})
这是我在那里写的 CLI 命令,如果您使用 Mongoose 或类似的命令,它们会略有不同。
有帮助吗?