4

当我调试我的 Node 应用程序时,我的 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 应用程序中将它们记录到控制台。

4

3 回答 3

3

不幸的是,这正是 WebStorm 当前的工作方式。object.toString()如果需要,您可以在调试时使用它进行快速评估。WebStorm 没有显示友好的内容,而是显示了ObjectID.

于 2013-11-11T01:27:21.770 回答
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

于 2015-02-22T04:54:52.220 回答
0

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

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

于 2016-02-02T15:47:20.550 回答