如何将数据插入数据存储(mongodb)



我正在爬行数据,我想将这些数据插入monogdb怎么办?

  1. 这是抓取模块。 数据存储在"文档"中

module.exports = {
    parseList(username,password) {
    return new Promise((resolve, reject) => {
        parseDKU.authenticateAndParse(username, password, 'https://webinfo.dankook.ac.kr/tiac/univ/lssn/ttmg/views/findTkcrsTmtblList.do?_view=ok&&sso=ok')
                .then( $ => {
                    if ($('#tmtblDscAplListTbl')) {
                        var docs = [];
                        const selector = '#tmtblDscAplListTbl td';
                        const td = $(selector); 
                        const tdLength = td.length/10;
                        for(let i =0; i < tdLength; i++){
                            var scoreInfo = {
                                stu_id: username,
                                course_code: ($(selector).eq(i * 10 + 1).text().trim()).concat('-'+$(selector).eq(i * 10 + 2).text().trim()),
                                course_name: $(selector).eq(i * 10 + 3).text().trim(),
                                prof_name: $(selector).eq(i * 10 + 6).text().trim()
                            }
                            docs.push(scoreInfo);
                            console.log(docs[i])
                        }
                    } else {
                        console.log('fail to Login')
                    }
                })
             })
    }
}

  1. 这是MongoDB的连接,我想"文档"存储的数据插入到"分数发布"模式中,该怎么做?

var mongoose = require('mongoose');
var parseList = require('./parseList');
mongoose.connect('mongodb://localhost:27017/testDB');
var db = mongoose.connection;
db.on('error', function() {
    console.log('Connection Failed');
});
db.once('open', function() {
    console.log('Conneted!');
})
var scorerelease= mongoose.Schema({
    stu_id : 'String',
    course_code : 'String',
    course_name : 'String',
    // course_score : 'number',
    prof_name : 'String',
})

}(

猫鼬连接应该在应用程序内.js文件和模型架构应该在 scoreRelease.js 文件中

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = mongoose.Schema.Types.ObjectId;
var scorerelease = mongoose.Schema({
  stu_id : 'String',
  course_code : 'String',
  course_name : 'String',
  // course_score : 'number',
  prof_name : 'String',
})
var ScoreRelease = mongoose.model('Book', scoreReleaseSchema);
module.exports = ScoreRelease;

然后你可以使用 async/await 来存储这样的存储

   module.exports = {
  parseList(username, password) {
    return new Promise(async (resolve, reject) => {
      let result = await parseDKU.authenticateAndParse(
        username,
        password,
        "https://webinfo.dankook.ac.kr/tiac/univ/lssn/ttmg/views/findTkcrsTmtblList.do?_view=ok&&sso=ok"
      );
      if (result("#tmtblDscAplListTbl")) {
        var docs = [];
        const selector = "#tmtblDscAplListTbl td";
        const td = $(selector);
        const tdLength = td.length / 10;
        for (let i = 0; i < tdLength; i++) {
          await ScoreRelease({
            stu_id: username,
            course_code: $(selector)
              .eq(i * 10 + 1)
              .text()
              .trim()
              .concat(
                "-" +
                  $(selector)
                    .eq(i * 10 + 2)
                    .text()
                    .trim()
              ),
            course_name: $(selector)
              .eq(i * 10 + 3)
              .text()
              .trim(),
            prof_name: $(selector)
              .eq(i * 10 + 6)
              .text()
              .trim()
          }).save();
          docs.push(scoreInfo);
          console.log(docs[i]);
        }
      } else {
        console.log("fail to Login");
      }
    });
  }
};

最新更新