mongoose schema Schema hasn't been registered for model

422 阅读2分钟
我想在学习mongoose/koa的路上无数个小伙伴都会踩的坑,然后再网上疯狂的寻找解决这个坑的办法,然后网上那些都是狗屁,基本都是转载+转载,实际上自己都没有去了解过为何会出现这样的问题,然后看了一波人家的解决办法然后恰巧又能暂时解决自己问题,觉得那个人写的不错,又能搞定自己的问题就转载一波,实则那个问题只是暂时解决而已,根本没有实际性的处理,好了听了我讲了那么多的废话,那么下面就来到真正解决问题的环节!!!


请大家认真的观看上面这张图片,大家有留意到最后那一行白色的MongoDb connected successfully的这行输出,没错,这行输出告诉我们,此时我们的数据库才链接上,这是在执行我们之前写的Schema之后才链接上我们的数据库。因此,代码中Schema报错找不到我们定义的collection。

 解决办法:我们需要在数据库链接之后才让它执行我们的Schema的代码如果是个人练习的话,建议等待数据库链接成功再去操作浏览器等。  

个人建议在练习mongoose的时候链接数据库时在链接数据库成功时输出一个状态,方便自己知道数据库状态,我问过后端大佬,他跟我说项目在线上,服务器不崩溃是不会出现数据库未链接的状态,当然也有可能有些公司为了优化在不需要用数据库的时候关闭数据库,我觉得这个可能几乎很少,毕竟频繁操作数据库,性能消耗也不低。 目前来说,对于mongoose我也只是个新手中的新手,如何去处理mongoose.conntect之后就需要各位大佬去摸索,因为我目前只是在练习插入数据到数据库当中,只需要等待数据库链接之后再刷新浏览器便能完美的插入数据,当然后期如果有需要动态去插入数据的时候我有处理的办法我会把解决办法补在这篇文章的下面,如有错误,请及时联系本人,


 最后我不希望有人转载我的文章,因为我不想像其它的文章一搜一堆都是一样的,支持原创!严禁转载