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

私はmongoに精通していませんが、これを試してください:

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

#{}を使用すると、二重引用符で囲まれた文字列内のルビーコードを評価できます。

于 2012-06-27T15:50:03.753 に答える
2

残りの結果を確認したい場合はto_a、クエリに追加してみてください。これにより、10個のアイテムを含む配列が得られます。

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