使用场景是这样子的: 发表文章时候,带有标签,一遍文章有很多个标签, 然后用查询一个标签时候,怎么查询到这个标签所有的文章?? 然后整个 mongoodb 的数据设计的思路是怎么样子?求大神解答一下嘛,thx
文章包含_id,title,tags,content然后,tags又含有很多的tag _id title tags tag1 tag2 tag3 content 可以这样去设计可以写一个返回特定标签下的所有文章的方法 Post.getTag=function(tag,callback){ mongodb.open(function(err,db){ if(err){ return callback(err); } db.collection('posts',function(err,collection){ if(err){ mongodb.close(); return callback(err); } collection.find({ "tags":tag },{ "name":1, "time":1, "title":1 }).sort({ time:-1 }).toArray(function(err,docs){ mongodb.close(); if(err){ return callback(err); } callback(null,docs); }); }) }); }; 然后在对应的路由调用
文章包含_id,title,tags,content
然后,tags又含有很多的tag
_id
title
tags
tag1
tag2
tag3
content
可以这样去设计
可以写一个返回特定标签下的所有文章的方法
然后在对应的路由调用
文章保存的时候向标签tags数组(外键)中添加对应标签id,同时在对应的所有标签中增加文章id(外键)
使用映射
mongoose中使用populate处理嵌套
同意楼上的解决办法,文章一个表,标签一个表,然后再建一个文章标签的对应关系表