import mongoose from 'mongoose'; let Schema = mongoose.Schema; let SpiderDataSchema = new Schema({ id: {type: Number}, data: {type: Schema.Types.Mixed}, type: {type: String}, status: {type: Number, default: 0} }, { collection: 'spider_data', timestamps: true }); class SpiderDataClass { static async updateData(data) { try { let record = await SpiderDataModel.findOne({'data.id': data.id}); record.data = data; record.status = 1; await record.save(); } catch (err) { console.log(err); } } static async saveList(list, type) { for(let record of list) { if (record.id > 0) { let sdata = new SpiderDataModel({ type: type, data: record, status: 0 }); try { await sdata.save(); } catch (err) { console.log(err); } } } } } SpiderDataSchema.loadClass(SpiderDataClass); SpiderDataSchema.query.byType = function(type) { return this.where({ type: type, status: 0}); }; let SpiderDataModel = mongoose.model('SpiderData', SpiderDataSchema); export default SpiderDataModel;