javascript - 键名中的 MongoDB 点 (.)

似乎 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/

相关文章:

mongodb - 显示我当前在 MongoDB 中使用的数据库的命令?

javascript - 是否有 Mongoose 连接错误回调

mongodb - 将json文件插入mongodb

performance - MongoDB 范围分页

mongodb - Mongoose 限制/偏移和计数查询

node.js - 如何在 Mongoose/Node.js 中同时保存多个文档?

mongodb - MongoDB中 "id"和 "_id"字段的区别

mongodb - 如何使用 mongodump 转储的数据?

mongodb - 如何在 MongoDB 中清除控制台

node.js - 在 Mongoose 中保存对象后如何获取 objectID?