365天,出色的猫鼬架构设计

时间:2018-08-24 08:21:07

标签: mongodb mongoose

我用猫鼬制作了365天的备忘录结构, 365天的海量数据,不良的设计会给系统带来巨大的负担, 像这样:

1次响起

const memo = mongoose.Schema({
  time: {type:Date},
  content: {type: String}
});

如果我要获取30天的备忘数据,则可以通过promise.map()查询30次,如下所示:

memo.find({"time": new Date("2018-07-01"))}
.
.
.
memo.find({"time": new Date("2018-07-31"))}

find()响,例如:

let data = memo.find({"time":
  { "$gte" : new Date("2018-07-01"), 
    "$lt" : new Date("2018-07-031")}
}).    

并将data数组拆分为30天。

2。细分为12个月

var montHmemo = new Schema({
    content: {type: String}
});

var memo = new Schema({
    year: {type: String},
    month_1: [meontHmemo],
    month_2: [meontHmemo],
    .
    .
    month_12: [meontHmemo]
});

我可以缩小某个年份的某个月份,也可以减少document的数量,一年减少document。但是需要这种设计吗?还是还有其他更好的设计?

0 个答案:

没有答案