草庐IT

mongoid3

全部标签

ruby-on-rails - 使用 MongoDB/Mongoid 和计算字段聚合函数

我正在迁移一个现有的Rails应用程序以使用MongoDB(带有Mongoid),但我在弄清楚如何像使用MySQL那样进行聚合时遇到了一些问题。以前我有类似SELECTDATE(created_at)ASday,SUM(amount)ASamountGROUPBYday,它会返回一个集合,你可以像这样在模板中循环::day=>'2011-03-01',:amount=>55.00:day=>'2011-03-02',:amount=>45.00etc...有谁知道如何在Mongoid中做到这一点?该模型非常简单:classConversionincludeMongoid::Docume

ruby-on-rails - Mongoid 和 ActiveRecord 关系 : undefined method `quoted_table_name'

classContestNoMethodError:undefinedmethod`quoted_table_name'forClaimTemplate:Class好的,让我们将quoted_table_name添加到ClaimTemplate:defself.quoted_table_name"claim_templates"end#consoleContest.new.claim_template#=>nil#Cool!#But:Contest.last.claim_template#=>TypeError:can'tconvertSymbolintoString那么我怎样才能配置

ruby-on-rails - Rails 应用程序中 Mongoid 记录器的未定义方法 `level`

我看到了这个:undefinedmethod`level'for#当我在我的init中设置Mongoid记录器时。记录器是通过简单的方式设置的:Mongoid.logger=Logger.new($stdout)在global.rb中这里有什么问题?如何让Mongoid登录到我自己的记录器以便我可以看到一些查询?我也试过没用:Mongoid.logger=Logger.new($stdout,:info) 最佳答案 最新版本已损坏:https://github.com/mongoid/mongoidhttp://travis-ci.

ruby-on-rails - 在 mongoid 中按 Id 删除

Mongoid中有没有使用id删除对象的命令?有点像,ClassName.delete(:id)目前我没有看到任何类似的东西,我正在使用,obj=ClassName.find(:id)obj.delete还能更好吗? 最佳答案 另一种方式ClassName.any_in(:_id=>["id1","id2"]).destroy_all 关于ruby-on-rails-在mongoid中按Id删除,我们在StackOverflow上找到一个类似的问题: http

ruby-on-rails - 如何将 Mongoid _id 转换为时间戳 (Rails)

我刚刚阅读了这篇SO帖子:HowareMongoDB'sObjectIdsgenerated?根据一个答案,MongoDBID不是随机的,可以很容易地预测。您甚至可以将其转换为时间戳:http://www.mongodb.org/display/DOCS/Object+IDs我想知道,是否可以使用mongoidgem将_id(例如52a435840000640002695268或52908452636872eda1000000)转换为时间戳? 最佳答案 MongoDBID通过Mongoid解析为类BSON::ObjectId的实例,

ruby-on-rails - 为 mongoid 哈希字段设置默认哈希键

我有一个带有哈希字段的Mongoid模型。这个Mongoid模型有使用单一集合继承的子类。现在我想为主模型的每个子类设置不同的默认哈希键。主要模型classSportincludeMongoid::Documentfield:rules,type:Hash,default:{}end我想为:rulehashfield设置不同的默认哈希键的子类。例如,对于足球,我想要规则:{:offside=>'',:penalty=>''}对于拳击,我们可能有规则的散列键:{:biting=>“不允许”。开源应用程序Errbit使用子类中的常量来设置默认哈希键,但我可以看到他们如何使用常量来填充哈希:

ruby - Mongoid 'or' 和 'in' - 查询多个数组

我在Mongo中有一个包含两个数组字段的文档:field:app_usernames,type:Arrayfield:email_addresses,type:Array我想创建一个函数,它使用一组用户名和一组电子邮件地址来搜索集合。更重要的是,我希望它返回具有数组中传递的任何值的文档:deffind_people(usernames_to_search,emails_to_search)...给定一个包含字段值的文档:app_usernames=['test1','test2','test3']email_addresses=['test1@test.com','test2@test

ruby-on-rails - 使用 Rspec 和 Mongoid 5.0 on Rails 4 清理或重置测试数据库

当我运行我的rspec测试时,由于我的mongodb数据库中的数据过时,很多测试都失败了。据我所知,使用干净的数据库进行测试要好得多。如何在每次测试前清理和/或重新植入数据库? 最佳答案 您可以使用database_cleanergem来完成这个任务。来自他们的文档:RSpec.configuredo|config|config.use_transactional_fixtures=falseconfig.before(:suite)doDatabaseCleaner.clean_with(:truncation)endconfig

ruby-on-rails - 使用 mongoid 根据条件获取嵌入元素

我使用rails和mongodb(mongoidgem)。我需要创建一个选择表单,其中包含嵌入在文档中的特定元素。文档看起来像这样:应用-->订单-->包我只想获取包具有特定值的应用程序文档。任何建议如何实现这一目标?我尝试了以下方法,但不起作用:@apps=current_user.apps.order.all(conditions:{order.package:2}) 最佳答案 查看此问题:Mongoid/Mongodbandqueryingembeddeddocuments在你的情况下:@apps=App.where("ord

ruby-on-rails - Mongoid:在 Rails 控制台中显示带有 embeded_in 对象的整个 mongodb 对象

classParentincludeMongoid::Documentembeds_many:childrenfield:titleendclassChildincludeMongoid::Documentembedded_in:parentfield:nameendRails控制台parent=Parent.new(:title=>"HelloWorld")parent.children"Pedro")parent#=>#那么我如何在Rails控制台中检查整个对象,直到子项嵌入到我的parent中,就像我在mogodb控制台中所做的那样{"_id":ObjectId("4e23302