我们可以使用帮助来构建我们的 Mongo 数据库。我们需要存储国家 ID,然后运行查询以返回包含匹配国家的文档。假设 ID 是 6-10 个字符长的字符串。
两种选择:
1) 将国家 ID 存储为一个由分隔符分隔的大字符串
(例如,/)。Ex: "IDIDID1/IDIDID2/IDIDID3/IDIDID4/IDIDID5".
2) 将 ID 存储在数组中。
Ex: ["IDIDID1", "IDIDID2", "IDIDID3", "IDIDID4", "IDIDID5"].
我们希望针对“ Find all documents containing country ID IDIDID3.
”之类的查询进行优化
对于选项 1,我们计划使用 RegEx 来查询文档(例如,/IDIDID3/
)。
对于选项 2,我们将使用标准$in
运算符。
哪个选项产生更好的读取性能?
使用字符串方法是否会产生更好的性能,因为您可以索引字符串(而不是 Mongo 只能索引一个数组的限制)?
我们正在使用 MongoMapper。