使用mongoose后,感觉只剩mongodb数据库简单好多了
mongoose的Schema的定义例子https://blog.csdn.net/zdhsoft/article/details/79890131
let {accountSchema} = require("../schema"); //这个看前面文章中定义
class accountDao {
/**
* 查找指定的账号信息
* @static
* @async
* @param {String} name 账号名称
* @param {Number} gameid 指定的类型
* @param {Number} platformid 平台Id
* @return {Model} 如果没有数据,则返回null
*/
static async GetAccount(name, gameid, platformid) {
return await accountSchema.findOne({name, gameid, platformid}).exec();//, cb);
}
static async GetAccountById(id) {
return await accountSchema.findOne({id}).exec();//, cb);
}
/**
* 插入一个访问账号
* @param {Number} platformid 来源id
* @param {String} name 账号
* @param {String} nickname 昵称
* @param {String} password 密码
* @param {Number} gameid 游戏id
* @return {{code:Number, errmsg:String, data:object}} 返回的结果
*/
static async InsertGuestAccount(platformid, name, nickname, password, gameid) {
let obj = { platformid, name, nickname, password, gameid};
let n = new accountSchema(obj);
try {
let r = await n.save();
return 0;
} catch (e) {
return -1;
}
}
}
exports.accountDao = accountDao;
下面是修改的例子:
let findCond = [unionid, gameid, platformid];
let record = await accountDao.GetAccount(...findCond);
record.lastlogintime = Date.now();
record.nickname = nickname;
record.photo = headimgurl;
record.markModified('lastlogintime');
record.markModified('nickname');
record.markModified('photo');
record.save();