【问题标题】:Is it acceptable to include multiple keys in JSON object在 JSON 对象中包含多个键是否可以接受
【发布时间】:2014-10-18 14:16:21
【问题描述】:

我想创建一个适合多种“类型”的 JSON 对象。例如,我有一个轿车类别,它适合三种类型——家用车、工作车和休闲车。在同一个对象中具有三个“类型”是否可以接受?这是一个不好的做法吗?如果是,那么我还能如何表示所有三种(或更多类型)

{
"category":"sedan",
"name":"Ford",
"type":"workVehicle",
"type":"familyVehicle",
"type":"recreationalVehicle"
}

【问题讨论】:

    标签: mongodb database-design mongodb-query database nosql


    【解决方案1】:

    不,所有键在 JSON 和 BSON 对象中必须是唯一的,因此在这种情况下,典型的方法是使用数组字段:

    {
      "category": "sedan",
      "name": "Ford",
      "type": ["workVehicle", "familyVehicle", "recreationalVehicle"]
    }
    

    【讨论】:

    • 值得补充的是......拥有多个同名键不仅是“不好的做法”,而且在 99.99% 的情况下也是“不起作用” JSON 库。因为没有指定这种情况下的行为,所以大多数库要么取第一个值,要么取最后一个值,而少数可能会出错。
    猜你喜欢
    • 2021-04-15
    • 2012-09-04
    • 2013-04-18
    • 2014-09-19
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    相关资源
    最近更新 更多