【发布时间】:2015-03-06 00:16:30
【问题描述】:
我正在 Node 和 MongoDB 中开发这个软件,我想在其中存储具有以下结构的包版本:
{
"versions":
{
"1.2.3": { stuff }
}
}
(类似于 npm 在沙发上做事的方式)
问题是,当我更新 MongoDB 时,我发现它不允许在键名中使用点(由于点符号存在),导致我的代码失败。在研究了这个之后,我能发现的只是你需要在存储到数据库之前将点转换为其他字符,然后在访问时再次将它们转换回来。真的没有更好的办法来解决这个问题吗?
如果没有,如何在不将数据复制到另一个键并删除原始数据的情况下进行此转换?
【问题讨论】:
-
你是说你在 Mongo 中已经有这样的数据了吗?即使在更新之前,这也不应该是可能的。你用的是什么版本?
-
@Thilo 我不记得了,但可能是驱动程序有问题并允许它。
-
@c0deNinja 它允许我按版本名称查找,而无需遍历整个可能非常多版本的数组。
-
那么你现在在数据库中有这样的数据吗?
-
@Thilo 是的,幸运的是这还没有投入生产
标签: javascript node.js mongodb