【发布时间】:2019-11-06 11:02:45
【问题描述】:
执行>10个请求,至少,同时,这段代码插入4条相同的记录,但必须只插入1条。
用户只能开始 1 个活动游戏。 (在活跃游戏领域finished = false)
console.log('performing request');
const activeGame = await db.Game.findOne({ uid, finished: false });
if (activeGame !== null) {
console.log('errored');
return { error: 'Finish previous game.' };
} else {
console.log('inserted');
const game = new db.Game({
uid,
moves: new Array(5*5).fill(0)
});
game.save();
return game;
}
同时记录 10 个请求:
performing request
inserted
performing request
performing request
inserted
performing request
inserted
inserted
performing request
errored
performing request
errored
performing request
errored
performing request
errored
performing request
performing request
errored
errored
事务对我没有帮助。
【问题讨论】:
标签: javascript node.js mongodb mongoose fastify