Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 从rails控制台,如何查询具有人类可读输出的mongo集合?_Ruby On Rails_Mongodb_Mongoid_Mongomapper - Fatal编程技术网

Ruby on rails 从rails控制台,如何查询具有人类可读输出的mongo集合?

Ruby on rails 从rails控制台,如何查询具有人类可读输出的mongo集合?,ruby-on-rails,mongodb,mongoid,mongomapper,Ruby On Rails,Mongodb,Mongoid,Mongomapper,从rails控制台,我如何以可读的形式轻松查询具有良好选项卡样式输出的mongo集合: Person.all.each{| p | pp p} 这将返回一个接一个打印的每个文档的混乱,但没有一个列对齐。这是JSON,数据不会对齐显示,因为文档可能没有相同数量的“列”。有无模式,因此每个文档可以有不同数量的“列”,并且仍然存储在同一个集合下,这就是为什么每个文档单独显示,而与其他文档没有关系 如果您想以特定的方式显示它们,则需要在自己的应用程序上获取输出并对其进行格式化,控制台假定所有文档都具有完

从rails控制台,我如何以可读的形式轻松查询具有良好选项卡样式输出的mongo集合:

Person.all.each{| p | pp p}


这将返回一个接一个打印的每个文档的混乱,但没有一个列对齐。

这是JSON,数据不会对齐显示,因为文档可能没有相同数量的“列”。有模式,因此每个文档可以有不同数量的“列”,并且仍然存储在同一个集合下,这就是为什么每个文档单独显示,而与其他文档没有关系


如果您想以特定的方式显示它们,则需要在自己的应用程序上获取输出并对其进行格式化,控制台假定所有文档都具有完全相同的“列”是没有意义的。如果您有两个选项:

  • 满足于没有专栏,使用pp或非常漂亮的。使用awesome_print,我经常这样做:
    ap Person.all.map(&:to_mongo)
    to_mongo方法将产生比pp'ing或ap'ing对象本身更好的输出

  • 你自己滚吧。退房作为一个开始的地方


  • 我通常通过以下方式检查mongo系列:
    ap Person.pulk(:id,:name,:dreams)

    所有的mongo gui应用程序,比如“MongoVUE”,都是这样做的。您是正确的,数据是json。但99%的时间它可以像传统的SQL结果集一样显示。我正在为控制台寻找Foo.all.to_table方法。谢谢大家,我将此方法添加到了条件中: