Mongoid 查找器不起作用?

Posted

技术标签:

【中文标题】Mongoid 查找器不起作用?【英文标题】:Mongoid finders not working? 【发布时间】:2011-06-15 14:42:12 【问题描述】:

我已经设置了一个 rails3+mongoid 应用程序,当我打开 rails 控制台时,似乎没有一个查找器工作 - http://d.pr/FNzC

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

都返回:

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

我做错了吗?

【问题讨论】:

【参考方案1】:

好的,这就是让 mongoid 对新手感到恼火的部分原因。人们期望像 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 只返回一个数组的新手。

【讨论】:

当然。尽管他们有文档,但似乎并没有表明指针实际上创建了您必须迭代的标准对象。正如你所说,对于熟悉 AR 课程的新手来说,这有点刺激。 使用.to_a时遇到连接错误怎么办?【参考方案2】:

试试这个:

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

【讨论】:

【参考方案3】:

这很好用..

 User.all.entries

【讨论】:

以上是关于Mongoid 查找器不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

Mongoid 聚合 $match 与 Date 对象不起作用?

引导日期选择器不起作用

为啥 AVPlayer 边界时间观察器不起作用?

Jquery $('class', this) 选择器不起作用

Weka 分类器不起作用

Phong 着色器不起作用