密钥名称中的MongoDB点(。)

密钥名称中的MongoDB点(。)

似乎mongo不允许插入带点(。)或美元符号($)的键,但是当我使用mongoimport工具导入包含点的JSON文件时,它工作正常。司机抱怨试图插入该元素。

这是文档在数据库中的样子:

{
    "_id": {
        "$oid": "..."
    },
    "make": "saab",
    "models": {
        "9.7x": [
            2007,
            2008,
            2009,
            2010
        ]
    }}

我这样做是错误的,不应该使用像外部数据那样的哈希映射(即模型),还是可以以某种方式逃避点?也许我在想类似Javascript。


慕雪6442864
浏览 790回答 3
3回答

慕勒3428872

建议替换非法字符,如$和.他们的Unicode的等价物。在这些情况下,密钥需要替换保留的$和。字符。任何字符都足够了,但考虑使用Unicode全宽等价:U + FF04(即“$”)和U + FF0E(即“。”)。
打开App,查看更多内容
随时随地看视频慕课网APP