【问题标题】:How Can I make mongo db schema for this?我如何为此制作 mongo db 架构?
【发布时间】:2020-10-09 13:26:46
【问题描述】:

我正在尝试抓取数据并发送到我的 MonogoDB 数据库,但我对此并不陌生,而且 在为我的数据库制作架构时感到困惑。这就是我要发送到我的数据库的内容 我尝试了很多搜索,但找不到合适的解决方案。 我能够制作架构,但它只适用于一个潜艇,但现在我有不止一个潜艇。是否可以通过为子列表制作模型或架构来完成?

{
        sub: [
          {
            code: 'ELA2010',
            sessionals: '54',
            exam: '26',
            total: '80',
            grace: '1',
            grades: 'A+',
            range: 'A+:81-100, A:71-80, B+:61-70, B:51-60, C:41-50, D:35-40'
          },
          {
            code: 'MEH2450',
            sessionals: '56',
            exam: '26',
            total: '82',
            grace: '0',
            grades: 'A',
            range: 'A+:85-100, A:75-84, B+:61-74, B:51-60, C:41-50, D:35-40'
          },
          {
            code: 'EEC2120',
            sessionals: '64',
            exam: '26',
            total: '90',
            grace: '0',
            grades: 'A+',
            range: 'A+:81-100, A:71-80, B+:61-70, B:51-60, C:41-50, D:35-40'
          },
          {
            code: 'EEC2210',
            sessionals: '53',
            exam: '26',
            total: '79',
            grace: '0',
            grades: 'A',
            range: 'A+:81-100, A:71-80, B+:61-70, B:51-60, C:41-50, D:35-40'
          },
          {
            code: 'EEC2310',
            sessionals: '54',
            exam: '26',
            total: '80',
            grace: '1',
            grades: 'A+',
            range: 'A+:81-100, A:71-80, B+:61-70, B:51-60, C:41-50, D:35-40'
          },
          {
            code: 'EEC2510',
            sessionals: '61',
            exam: '26',
            total: '87',
            grace: '0',
            grades: 'A+',
            range: 'A+:81-100, A:71-80, B+:61-70, B:51-60, C:41-50, D:35-40'
          },
          {
            code: 'EEC2920',
            sessionals: '61',
            exam: '26',
            total: '87',
            grace: '0',
            grades: 'A+',
            range: 'A+:81-100, A:71-80, B+:61-70, B:51-60'
          },
          {
            code: 'EEC2930',
            sessionals: '61',
            exam: '26',
            total: '87',
            grace: '0',
            grades: 'A+',
            range: 'A+:81-100, A:71-80, B+:61-70, B:51-60'
          }
        ],
        info: {
          facno: '17EHB116',
          eno: 'GK6147',
          name: 'Steve Jhon',
          cpi: '8.91',
          spi: '9.714'
        }
      }

这就是我想要做的,但我不知道如何为子数组制作架构--

const mongo = require('mongoose');
const result = mongo.Schema({
sub:[
{
    code: { type: String }, sessionals: { type: String },
    exam: { type: String }, total: { type: String },
    grace: { type: String }, grades: { type: String }, range: { type: String}
}],
info: {
    facno: { type: String },
    eno: { type: String }, name: { type: String }, cpi: { type: String }, 
    spi: { type: String }
}
});
   module.exports = Result = mongo.model('result', result);

请告诉我如何为此创建架构:((

【问题讨论】:

  • 请包含您尝试使用的架构,以便其他人可以看到它们有什么问题。你查阅过官方文档了吗?
  • @NiklasMohrin 请看

标签: javascript node.js mongodb express web-scraping


【解决方案1】:

如答案之一所述,您可以将 mongoose 包与 node.js 一起使用。

您可以通过以下方式创建架构,

new mongoose.Schema({
sub:[ new mongoose.Schema({
        code: String,
        sessionals: String,
        exam: String,
        total: String,
        grace: String,
        grades: String,
        range: String
    })],
    info: {
          facno: String,
          eno: String,
          name: String,
          cpi: String,
          spi: String
        }
})

【讨论】:

  • Vikas bhai,我正在努力,我真的需要你的帮助。有什么平台可以联系到你吗?
【解决方案2】:

您将创建一个 Schema,然后使用它来保存到您的 MongoDB 实例。

我建议使用名为Mongoose 的包。它使 MongoDB 变得更加简单。

要使架构支持多个潜艇,您可以执行以下操作:

new mongoose.Schema({
    sub1: [{
            code: String
            sessionals: String
            exam: String
            total: String
            grace: String
            grades: String
            range: String
        },
        {
            code: String
            sessionals: String
            exam: String
            total: String
            grace: String
            grades: String
            range: String
        }
    ],
    sub2: [{
            code: String
            sessionals: String
            exam: String
            total: String
            grace: String
            grades: String
            range: String
        },
        {
            code: String
            sessionals: String
            exam: String
            total: String
            grace: String
            grades: String
            range: String
        }
    ]
});

【讨论】:

  • 我正在从某个地方抓取 sub,sub 的数量可能会有所不同。
猜你喜欢
  • 2023-03-31
  • 2021-03-30
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 1970-01-01
  • 2011-11-18
相关资源
最近更新 更多