ObjectID显示Unicode乱码而非字符串

4
当我调试我的Node应用程序时,我的ObjectId用Unicode乱码表示,如ObjectID {id: RýÕ/H}而不是实际可读的ID。这是一个截屏。有人知道是什么原因吗?
我在Crunchbang Waldorf x64上使用WebStorm 7.0.1。
更新:在检查node-inspector后,我得到了相同的结果:http://i.imgur.com/8dxOGhd.png 唯一能正常显示我的ObjectId的时间是如果我在Robomongo(一个MongoDB GUI)中检查它们或者在Node应用程序内部从控制台中记录它们。
3个回答

3

很遗憾,这是WebStorm目前的工作方式。如果需要,您可以在调试时使用 object.toString() 进行快速评估。而不是WebStorm显示友好的内容,它显示了ObjectID的二进制表示。


0

0

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

我通过命令行运行和测试所有内容。

我发现代码的一行(第12行)包含console.dir(documents)。 我将其更改为console.log(documents),它给我返回了一个我期望的ID--类似于54e95c6f322fd679214d3a18,而不是像Té\o2/Öy!M:\u0015这样的无意义字符。

MDN将console.dir()描述为“非标准”,因此可能存在一些奇怪的情况。 更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Console/dir


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接