var mongoose = require('../utils/mongoose').mongoose; var crypto = require('crypto'); var Schema = mongoose.Schema; // session模型 var SessionSchema = new Schema({ uid: {type: String, index: true}, socket: {type: String}, // 类型 type: {type: String, default: "customer"}, // 客服编号 kefu_id: {type: String}, nickname: {type: String}, status: {type: Number,default:1}, create_at: {type: Date, default: Date.now} }); //session model instance const sessionModel = mongoose.model("sessions", SessionSchema); module.exports = { find(uid) { return new Promise((success, fail) => { sessionModel.findOne({uid, status: 1}, (err, session) => { if (err) fail(err); else success(session) }) }); }, create(data) { return new Promise((success, fail) => { sessionModel.insert(data, (err, doc) => { if (err) fail(err); else success(doc); }) }); }, update(uid, data) { return new Promise((success, fail) => { sessionModel.findOneAndUpdate({uid}, data, success); }); }, remove(uid) { return new Promise((success, fail) => { sessionModel.findOneAndRemove({uid}, data, success); }); }, // 查询列表 findByCondition(data) { return new Promise((success, fail) => { sessionModel.find(data, (err, doc) => { if (err) fail(err); else success(doc); }) }); } }