似乎 mongo 不允许插入带有点 (.) 或美元符号 ($) 的键,但是当我使用 mongoimport 工具导入包含点的 JSON 文件时,它工作正常。驱动程序提示试图插入该元素。
这是文档在数据库中的样子:
{
"_id": {
"$oid": "..."
},
"make": "saab",
"models": {
"9.7x": [
2007,
2008,
2009,
2010
]
}
}
我做这一切都是错的吗?不应该将 HashMap 与外部数据(即模型)一起使用,还是我可以以某种方式转义点?也许我想太多类似 Javascript 的东西了。
最佳答案
MongoDB 不支持 keys with a dot在它们中,因此您必须在导入 JSON 文件之前对其进行预处理以删除/替换它们,否则您将面临各种问题。
没有针对此问题的标准解决方法,最佳方法过于依赖具体情况。但如果可能的话,我会避免使用任何关键的编码器/解码器方法,因为您将永远继续为此付出的不便,其中 JSON 重组可能是一次性成本。
https://stackoverflow.com/questions/12397118/