将 JSON 哈希存储到 MongoDB 的最佳实践。每个键 1 个字段或整个哈希 1 个字段
Best practice for storing JSON hashes to MongoDB. 1 field per key OR 1 field for whole hash
我正在将大型 JSON 文件存储到 MongoDB。
JSON 具有以下结构:
{"listing":
{"k1": "v1"},
{"k2": 2 },
{"k3": [1,2,3]},
}
我正在使用 Mongoid ODM 将字段映射到我的 Ruby 类。
我应该为每个键创建 1 个字段还是为包含整个 JSON 文件的哈希类型创建 1 个字段?
class Listing
include Mongoid::Document
field :listing, type: Hash
end
或
class Listing
include Mongoid::Document
field :k1, type: String
field :k2, type: Integer
field :k3, type: Array
end
我担心的是,如果我只使用 1 个 Hash 类型的字段而不是每个 JSON 键使用 1 个字段,文档可能会变得更难查询。
我认为最好的方法是:
- 为稍后可能查询的键添加字段并为此添加键,我认为不会有很多。
- 为整个 JSON 数据添加一个
listing
哈希。
我正在将大型 JSON 文件存储到 MongoDB。
JSON 具有以下结构:
{"listing":
{"k1": "v1"},
{"k2": 2 },
{"k3": [1,2,3]},
}
我正在使用 Mongoid ODM 将字段映射到我的 Ruby 类。
我应该为每个键创建 1 个字段还是为包含整个 JSON 文件的哈希类型创建 1 个字段?
class Listing
include Mongoid::Document
field :listing, type: Hash
end
或
class Listing
include Mongoid::Document
field :k1, type: String
field :k2, type: Integer
field :k3, type: Array
end
我担心的是,如果我只使用 1 个 Hash 类型的字段而不是每个 JSON 键使用 1 个字段,文档可能会变得更难查询。
我认为最好的方法是:
- 为稍后可能查询的键添加字段并为此添加键,我认为不会有很多。
- 为整个 JSON 数据添加一个
listing
哈希。