我遇到了一个奇怪的问题,我们在本地开发环境中使用MongoDB,在Heroku上使用MongoLabs用于我们的生产环境。现在问题出在MongoLabs处理_id字段的方式上。而不是做_id:'0x ....'它使用_id:{$ oid:'0x ...'}。
这似乎会导致一些问题,因为有些代码在生产时无法正常工作,但在我们的本地机器上运行良好。
我们正在为这个项目使用带有Mongoose和Express的Nodes.js。当我为model._id提供未定义时,我注意到了这个问题。
有没有办法强迫两者保持一致?最好强迫MongoLab使用_id:'0x ...'?
更新:我设法弄清楚为什么我得到了未定义的ID。我们只是使用cwd()来要求一些模块,最后需要一个具有类似名称的不同模块,因为我们运行生产构建的cwd与开发构建稍有不同。
但我仍然想知道为什么MongoLabs使用id的变体以及它如何仍然有用。尽管如此。
答案 0 :(得分:0)
我遇到了问题
如果我留在php中,使用我原来没问题。
但是如果我从数组移动到json到数组,它就不起作用。