Подтвердить что ты не робот

Монгоидные искатели не работают?

Я установил приложение rails3 + mongoid, и когда я открываю консоль рельсов, ни один из искателей не работает - http://d.pr/FNzC

User.all
User.find(:all, :conditions => { first_name => "John" })

оба возвращаются:

#<Mongoid::Criteria
  selector: {},
  options:  {}>

Я что-то делаю неправильно?

4b9b3361

Ответ 1

Хорошо, так что это часть того, что делает моргид раздражающим для новичков. Люди ожидают, что методы, такие как User.all, действительно возвращают массив, когда он действительно возвращает объект Criteria.

Чтобы обеспечить синтаксический сахар цепочечных методов и других механизмов фантазийных запросов, Mongoid, похоже, использует ленивую вещь типа загрузки.

Вы можете сделать:

#array index
User.all[0]

#first/last
User.all.first

#each over things, print out all the users
User.all.each {|u| p u}

#edit, I forgot to include this, which is probably what you really want
#this spits out an array
User.all.to_a

Это затрудняет быстрое подтверждение того, что все работает для новичков из ActiveRecord, где User.all просто возвращает массив.

Ответ 2

Попробуйте следующее:

    User.all.first        
    User.find(:first, :conditions => {:first_name => 'John'})    
    User.where(:first_name => 'John').first

Ответ 3

это работает отлично..

 User.all.entries