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

时间:2011-05-23 20:19:41

标签: ruby-on-rails mongodb mongoid mongomapper

从rails控制台,如何以人类可读的形式轻松查询具有漂亮的标签样式输出的mongo集合:

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

这将导致每个文件一个接一个地打印出来,但没有一个列排成一行。

3 个答案:

答案 0 :(得分:2)

AFAIK你有几个选择:

  1. 不含列的内容并使用pp或非常漂亮的awesome_print。使用awesome_print我经常这样做:ap Person.all.map(&:to_mongo) to_mongo方法将产生比pp'或对象本身更好的输出。

  2. 自己动手。查看terminal-table作为开始的地方。

答案 1 :(得分:0)

这是JSON,数据不会排列,因为文档可能没有相同数量的“列”。有 NO 架构,因此每个文档可以有不同数量的“列”,并且仍然存储在同一个集合下。这就是为什么每个文档都显示在它自己而不与其他文档有关。

如果要以特定方式显示它们,则需要在自己的应用程序中获取输出并将其格式化,控制台假设所有文档具有完全相同的“列”是没有意义的。

答案 2 :(得分:0)

我通常以这种方式检查mongo集合: ap Person.pluck(:id, :name, :dreams)