我开始在我的本地计算机上使用本地数据库处理此应用程序,它在这里工作正常。然后我将我的项目克隆到在线服务器上。然后我在我的本地数据库上使用mongodump,将我的本地数据库上传到服务器,并使用mongorestore在服务器上创建一个与我本地计算机上的名称相同的新数据库。
但是现在我的应用程序中的Mongoose一直返回零结果,并且所有数据库查询都没有错误。我在我的在线服务器上使用了mongo shell来测试并查看数据库是否已正确恢复,我的文档确实显示在我的在线副本的mongo shell中。
我确定数据库名称是相同的。 Mongoose模型名称是相同的。集合名称是相同的。我确认服务器上的所有内容与我本地副本上的内容完全相同,但由于某种原因,Mongoose只在我的本地数据库上找到了我的文档,但没有在服务器上找到。
我的本地数据库和服务器数据库都禁用了身份验证,但只监听localhost,因此两者的数据库连接URI也相同。