如何设计数据库的数据结构(mongoDB)
发布于 2年前 作者 blackgun 2209 次浏览

查询某个用户发表的评论,有2个方案

方案1:

articles:
{
    ...
    users: ["a[@a](/user/a).com","b[@b](/user/b).com","c[@c](/user/c).com",...]
    comments: [
        {email:"a[@a](/user/a).com", comment:"..."},
        {email:"b[@b](/user/b).com", comment:"..."},
        {email:"c[@c](/user/c).com", comment:"..."},
        ...
    ]
}

方案2:

articles:
{
    comments: [
        {email:"a[@a](/user/a).com", comment:"..."},
        {email:"b[@b](/user/b).com", comment:"..."},
        {email:"c[@c](/user/c).com", comment:"..."},
        ...
    ]
}

目前采用方案1,先查询usrs,返回结果,再从结果中抽取comments数组中匹配email的内容 但感觉不是很聪明的办法,不知道类似方案2的设计怎么做? 另外也不知道若采用方案2的话应该怎么写查询语句。

1 回复

MongoDB schema 设计–博客系统设计 可以看看 http://inosql.org/topic/50cae981ee680fee79001c2c

回到顶部