Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 一个模型使用不同模板的MongoDB模式设计_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 一个模型使用不同模板的MongoDB模式设计

Node.js 一个模型使用不同模板的MongoDB模式设计,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我只是想听听你们的意见,因为我很难思考这个模式设计是否好。因此,在我提问之前,这里是我正在构建的网站的功能之一: 用户可以在他们销售的产品上发布一些东西 用户可以搜索帖子 用户查看帖子及其具体细节 这是我的帖子模式 var PostSchema = new mongoose.Schema({ maincategory: String, subcategory: String, quantity: String, name: String, descript

我只是想听听你们的意见,因为我很难思考这个模式设计是否好。因此,在我提问之前,这里是我正在构建的网站的功能之一:

  • 用户可以在他们销售的产品上发布一些东西
  • 用户可以搜索帖子
  • 用户查看帖子及其具体细节
  • 这是我的帖子模式

    var PostSchema = new mongoose.Schema({
        maincategory: String,
        subcategory: String,
        quantity: String,
        name: String,
        description: String,
        plusdetails: {}
    }, {strict: false});
    
    在网站上发布内容时,您将选择主类别及其子类别,例如我在卖电脑,在我的PostSchema上,它接受主类别、子类别、数量、名称和描述等字段。既然您为计算机选择了一个子类别,我有一个特定的模板来为计算机提供特定的细节(比如GPU、CPU、多少内核、多少ram等等),所以这就是为什么我在PostSchema上有一个名为plusdetails的模板,它接受无模式设计

    例如,如果我想卖一部手机,那么在我的plusdetails上,它将包含(比如操作系统、多少ram、CPU、摄像头像素等等) 下面是它的预览(很抱歉,这不是关于手机或电脑的,但你会明白的)

    总之,每一个不同的类别,当你发布时,它们都使用一个模型,即PostSchema,尽管它们包含不同的值(在plusdetails上)。所以当我在帖子上搜索时,我只会使用

    Post.find({query: data})
    
    因为他们都住在一个模型上

    现在我的问题是,这样做对吗

    因为一开始,我想做的是在每个类别中都相当于一个模型,比如

    • 后纵火
    • 后计算机模式
    • 邮局模式
    以此类推,它将需要数百个模型。有了这个,我可以正确地定义他们的模式,我完全可以控制它应该在哪里。但问题是,当用户搜索某个东西时。我会用什么型号

    因为它只是一个搜索栏,例如,我会搜索“Lenovo”

    在这种方法中(一个类别=一个型号),如果我有多个型号,我将如何搜索联想。因为联想可以是电脑也可以是手机。因为这个问题,我没有采取这种方法。在我可以使用
    Post.find({query:data})
    之前,我不能使用它,因为有数百个模型


    那么,我该如何设计我的mongodb模式来服务于每个项目都有特定模板的POST项目呢?我做的那个还好吗?还是有更好的办法?

    看看谢谢!我会在outLook查看的,谢谢!我去看看