如何为嵌套数据设计猫鼬模式设计

时间:2019-03-17 07:05:06

标签: node.js mongodb express mongoose database-design

我正在构建一个想要嵌套数据的MERN堆栈应用程序。我无法弄清楚猫鼬的架构设计。在Strings下应嵌套import { PixelRatio } from 'react-native'; switch(PixelRatio.get()) { case 1: return "mdpi"; break; case 1.5: return "hdpi"; break; case 2: return "xhdpi"; break; case 3: return "xxhdpi"; break; case 3.5: return "xxxhdpi"; break; }nameage之类的详细信息。下面是它的外观概图。不应在模式中对年份进行硬编码。

photo

1 个答案:

答案 0 :(得分:0)

您可以将其分为两个模式。包含相册对象引用的相册。相册模式中的每个文档都可以是将相似照片组合在一起的年份或通用相册名称。照片模式将使用文件名和URI存储实际的照片文档。

PhotoAlbumSchema:
{
   name: String,
   year: Number,
   photos: [{ type: Schema.types.ObjectId, ref: "Photo"}] // array of photo objects
}

PhotoSchema
{
    filename: String,
    uri: String,
    description: String,
}

您插入相册模式的每个文档可以链接一组照片对象引用(ObjectId)。更好的是,每个相册可以包含多个相册中共享的照片集。您可以通过执行Albums.find({})。populate('Photo')

来填充数据