The TypeScript type definition of Mongoose are not fully correct!
I inspected (or debugged) a nodejs server project of Little Gengsha‘s, where he’s using koa as the server and mongodb as the data store. The project seems called “Writer’s Platform”, which seemed very primitive then. There were only two routes, a get
, a post
, the latter of which is used to submit an article
to mongodb. During the test he discovered a problem — the body of the response should be changed in the callback of the save
function, but the action response is “OK”, which is the default response of koa.
router.post('/path', (ctx, next) => { const article = new Article( /* something */ ); article.save((err, article) => { if (err){ ctx.body = err; } else { ctx.body = "success"; } }); })
Continue reading “An incident caused by an incorrect TypeScrpit type definition of Mongoose”