Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在mongo db中存储这些值的最干净的方法?_Ruby On Rails_Ruby_Mongodb - Fatal编程技术网

Ruby on rails 在mongo db中存储这些值的最干净的方法?

Ruby on rails 在mongo db中存储这些值的最干净的方法?,ruby-on-rails,ruby,mongodb,Ruby On Rails,Ruby,Mongodb,我正在向mongo db文档添加一系列用户ID,每个ID都有一个1到9之间的编号。但这不是必须的。那么,在我的文档中添加以下内容是否更有意义: {"4" => "user_id1", "7" => "user_id2"} 或 [nil,nil,nil,“用户id1”,nil,nil,“用户id2”] (知道存在偏移) 我的感觉是,使用散列在资源和访问时间方面更快,但使用数组更干净,更有逻辑意义。如果使用数组更干净,更有逻辑意义,那么您应该使用数组 您只有九个条目,因此任何节省的空间

我正在向mongo db文档添加一系列用户ID,每个ID都有一个1到9之间的编号。但这不是必须的。那么,在我的文档中添加以下内容是否更有意义:

{"4" => "user_id1", "7" => "user_id2"}

[nil,nil,nil,“用户id1”,nil,nil,“用户id2”]

(知道存在偏移)

我的感觉是,使用散列在资源和访问时间方面更快,但使用数组更干净,更有逻辑意义。

如果使用数组更干净,更有逻辑意义,那么您应该使用数组

您只有九个条目,因此任何节省的空间都是无关紧要的,除非您要处理数百万条条目。只有9个条目的速度差异也将是非常不相关的

就优化(记忆或时间)而言,感觉一文不值。您必须对系统进行分析(多次),以查看谁在真正占用内存(或者是否确实存在明显的内存浪费)或浪费时间。评测的结果通常会让你和大师们都感到惊讶,因此有一条警告:过早优化是万恶之源。始终从最自然的表示开始,这样您就可以获得干净、合理且有效的代码:优化干净且有效的软件要比调试试图解决不存在的问题的大量复杂性容易得多