当我调试我的Node应用程序时,我的ObjectId由Unicode乱码表示,如ObjectID {id: RýÕ/H}
而不是实际的可读ID。这是一个screenshot。有谁知道是什么导致了这个?
我在Crunchbang Waldorf x64上使用WebStorm 7.0.1。
更新:在检查节点检查器后,我得到相同的结果:http://i.imgur.com/8dxOGhd.png
我唯一可以正确看到我的ObjectId的是我在Robomongo(一个MongoDB GUI)中检查它们,或者我是否从Node应用程序中将它们记录到控制台。
答案 0 :(得分:3)
不幸的是,这只是WebStorm目前的工作方式。如果需要,可以在调试时使用object.toString()
进行快速评估。而不是WebStorm显示友好的东西,它显示ObjectID.
答案 1 :(得分:0)
在本书中执行Node.js和MongoDB练习时遇到了同样的问题:https://leanpub.com/nodecraftsman。我正在谈论的代码在第83页第12行。
我正在运行并通过命令行测试所有内容。
我发现代码的一行(第12行)包含console.dir(文档)。我把它改成了console.log(文件),它给了我一个我期望的id - 比如54e95c6f322fd679214d3a18,而不是例如Té\ o2 /Öy的傻瓜!M:\ u0015
MDN将console.dir()描述为“非标准”,因此可能会发生奇怪的事情。更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Console/dir
答案 2 :(得分:0)
这是WebStorm中的一个错误。他们正在追踪这个问题: