显示Unicode乱码而不是string的ObjectID

当我debugging我的节点应用程序时,我的ObjectId是由Unicode字符表示,如ObjectID {id: RýÕ/H}而不是实际可读的ID。 这是一个截图 。 有谁知道这是什么原因?

我正在使用Crunchbang Waldorf x64上的WebStorm 7.0.1。

更新:检查节点检查器后,我得到了相同的结果: http : //i.imgur.com/8dxOGhd.png

我唯一可以看到我的ObjectId是正确的,如果我在Robomongo(一个MongoDB GUI)中检查它们,或者如果我从Node应用程序将它们login到控制台。

不幸的是,这只是WebStorm目前的工作方式。 如果需要,可以在debugging时使用object.toString()进行快速评估。 而不是WebStorm显示友好的东西,它显示ObjectID.的二进制表示ObjectID.

从本书中进行Node.js和MongoDB练习时,我遇到了同样的问题: https : //leanpub.com/nodecraftsman 。 我正在谈论的代码在第83页第12行。

我正在运行,并通过命令行testing一切。

我发现一行代码(第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

这是WebStorm中的一个错误。 他们正在跟踪这个问题:

https://youtrack.jetbrains.com/issue/WEB-9945