0

我有这条线:

@users = database['users'].find(:all).limit(10)

它返回这个对象:

<Mongo::Cursor:0x8759a858 namespace='app-development.users' @selector=:all @cursor_id=>

我认为它收集了从数据库中获得的 10 个用户。那是对的吗?我尝试像这样迭代它:

   @users.each {
        |info|
      logger.debug ".....................single user: " + info.inspect
    }

但我收到了这个错误:

BSON::InvalidDocument (BSON.serialize takes a Hash but got a Symbol):

帮助不胜感激!

4

2 回答 2

2

如果您想查看文字结果,请尝试附加to_a到查询中。这应该会给你一个包含十个项目的数组。

@users = database['users'].find(:all).limit(10).to_a
于 2012-06-27T17:50:58.550 回答
2

我对 mongo 不熟悉,但试试这个:

@users.each do |info|
   logger.debug ".....................single user: #{info.inspect}"
end

#{} 允许您在双引号字符串中评估 ruby​​ 代码。

于 2012-06-27T15:50:03.753 回答