猿问

mongodb 一对多如何更好设计

拟设计的业务结构如下:

var mySchema = new Schema({
  projectname:  String,
  author: String,
  body:   String,
  task: {
    taskname: String,
    user: String,
    picture: {
    url1,
    url2,
    url3,    ...
    },
  }
});

用文字叙述业务结构就是,每个project包含n个task,每个task下又包含n个图片。
日常操作是
1.新建project => 新建task =>上传n个图。
2.对project task等进行update操作。

请问该我这样的数据库设计合理吗。是否有更优的办法。使用的是express开发。


翻过高山走不出你
浏览 1077回答 1
1回答

小唯快跑啊

完全可以!某些业务场景特别适合这种嵌套的子集合设计。要用到数据project数据的时候 ,需要一并用上task。 这种只需要查询一张表,效率很高。 而且mongo对子集合的支持也比较好。
随时随地看视频慕课网APP

相关分类

MongoDB
我要回答