- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
MongoID docs似乎很清楚我应该能够运行它并让它工作:
Band.find_by(name: "Photek")
但至少对于 MongoID 2.4.11,这给了我一个 NoMethodError
。
另一方面,这有效:
Band.find(name: "Photek")
将 find_by
更改为 find
很容易,但我很困惑发生了什么。这是我的 gem 版本落后于文档的情况,还是什么?
最佳答案
Mongoid 文档现在默认显示版本 3(它是 RC)。您想查看文档 here对于 Mongoid 2。
在 find
与 find_by
上,这是来自 upgrade guide对于 Mongoid 2 -> 3:
Model.find and model.relation.find now only take a single or multiple ids. Model.first, Model.last also no longer take arguments. For these use Model.find_by instead.
IOW:
Mongoid 2:
Band.find(some_id)
Band.find(name: "Billy Talent")
Mongoid 3:
Band.find(some_id)
Band.find(some_id, some_other_id)
Band.find_by(name: "Billy Talent")
关于ruby - MongoID find 或 find_by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421496/
目前我正在开发一个 gem,它会覆盖 ActiveRecords where。通过研究,我偶然发现了两种不同的 find_by 实现。一个在 core它使用某种缓存,而来自 FinderMethods
我在 Rails 应用程序中设置了一个命名范围,用于通过 ID(直接来自索引 View )或 UUID(来自电子邮件 - 基本上只是这样用户无法输入)来定位记录任意ID并查看记录) scope :by
我正在使用 ahoy gem 进行分析。在 ahoy_events 表中,我有 json 数据类型的 properties 列。我想根据该列查找特定数据。 假设我有 {"tag":"a","class
我需要从 2 个参数中找到一条记录,但我需要其中一个不区分大小写。当前区分大小写的行是 c = Course.find_by(subject_area: area, cat_number: cat
这些天我正在研究 Ruby on Rails 以提高自己作为开发人员的水平,因此我开始重写我的一个 php 网站以使用该框架。 该网站基本上是一个源代码聚合器,因此我有一个语言模型和一个源模型: cl
假设@news_writers 是一个记录数组。然后我想使用@news_writers 查找由@news_writers 中包含的所有新闻作者撰写的所有新闻项目。 所以我想要这样的东西(但这在语法上是
我有一个奇怪的问题。 我有两个模型用户和角色,它们之间存在多对多关系。我想在用户的角色集合中过滤名称为“管理员”的角色。 在模型中这段代码 puts self.roles.to_s 打印到屏幕: [角
我有获取两个查找结果的代码: results1 = firstModel.find_by_id(id1) results2 = secondModel.find_by_id(id2) allResul
我想找到一个 Post 模型,其 title 是“foo”,但是,如果该帖子不存在,则为“bar”,然后是“foobar”。 为此我写了这个: Post.find_by(title: %w(foo b
MongoID docs似乎很清楚我应该能够运行它并让它工作: Band.find_by(name: "Photek") 但至少对于 MongoID 2.4.11,这给了我一个 NoMethodErr
我正在学习 6.3 版的 Michael Hartel 的 Rails 教程,需要 user_spec 模型的替代代码。他的代码是: let(:found_user) { User.find_by(e
它可能与问题无关,但对于上下文,我在我的应用程序中使用了 devise_invitable gem。我已经开始修改invitations_controller.rb,因为我想保存invited_use
我有一个用户模型,其中包含身份验证方法。 如果我在 Rails 控制台中使用模型进行测试,可以很好地创建用户,然后我可以在电子邮件中进行查找并像这样完美地返回用户。 user = User.find_
我是 Rails 新手。据我所知,查找记录的方法有很多种: find_by_() find(:first, :conditions => { => } where( => ).first 看起来它
假设我有模型(帐户),其中包含以下列 account_id、user_id、party_id、日期和名称 然后我执行: Account.find_by_account_id_and_user_id_a
假设我有模型(帐户),其中包含以下列 account_id、user_id、party_id、日期和名称 然后我执行: Account.find_by_account_id_and_user_id_a
ActiveRecord 的 find_by 方法似乎没有注意到自定义 getter。也就是说,find_by 似乎查看的是实际存储在数据库中的值,而不是 getter 返回的内容。示例: Activ
是否可以对 2 个以上的字段使用 find_by? 喜欢: feedback = Feedback.find_by_field_a_and_field_b_and_field_c("A", "B",
异常处理不适用于 rails 中的 find_by 查询 这里的代码: ab = User.find_by_uniq_token(params[:uniq_token]) 不引发异常...同时:
所以我知道 Rails 在像这样使用时有助于防止 sql 注入(inject): Object.find(:first, :conditions=>["name=?",name]) 但是,我似乎无法确
我是一名优秀的程序员,十分优秀!