Node.JS图像标记的数据库结构

时间:2011-08-09 19:33:39

标签: database data-structures node.js

我将使用Node.js创建一个系统,我可以用我创建的标签标记图像(例如:夏天,学校,海滩等)。

我之前用PHP和MySQL创建了一个标记系统,标准的三个表系统(一个Images表,tags_assoc和tags表),但现在我正在尝试使用Node.js我想知道是否有一种更好的方法,可能使用NoSQL解决方案。

我希望能够使用数据库做这些事情:

  1. 按日期顺序查看
  2. 按标签搜索(单个标签,多个标签,没有特定标签)

1 个答案:

答案 0 :(得分:0)

你绝对可以使用nosql DB。你最终如何坚持完全取决于你选择哪个nosql DB。但是,您可以创建类似于以下内容的模型,并使用db client / api存储doc:

var Image = function() {
    return {
        url: '',
        tags: [],
        createDate: new Date()
    };
}
var image = new Image();
image.url = '/images/day_at_the_beach.jpg',
image.tags.push('summer');
// persist to db

就检索数据而言,确切的实现依赖于您正在使用的数据库,但您可以轻松地完成所需的两项操作。例如,在CouchDB中,您可以使用map / reduce设置视图,或者使用MongoDB,您可以使用mongoose客户端并构建适当的查询。

编辑:使用mongoose,你还必须在持久和阅读之前设置一个mongoose.Schema。