草庐IT

mongoid3

全部标签

ruby-on-rails - mongoid 中的货币表示

我应该如何使用Money使用MongoID?我应该将其配置为BigDecimal吗?在rails级别?对于ActiveRecord,我们有一个叫做Money的东西,但AFAIK它只支持AR 最佳答案 我也遇到了这个。不幸的是,BigDecimal以字符串形式存储在Mongodb中,因此它不会像float或整数那样让您对其求和、排序等。整数似乎是以美分存储值的方法,可能使用Moneygem对其进行抽象:https://github.com/RubyMoney/money我认为,Mongo在大多数现代机器上使用64位存储int,因此即使

ruby-on-rails - 使用 id 作为标准时的 Mongoid where vs find

当在我的查询中使用文档的id作为唯一标准时,两者之间有什么区别:Board.only(:_id).find(params[:board_id])和Board.where(_id:params[:board_id]).only(:_id)我唯一注意到的是,当使用方括号将结果括起来时,将结果打印为json 最佳答案 find返回一个文档。where返回符合条件的文档数组。 关于ruby-on-rails-使用id作为标准时的Mongoidwherevsfind,我们在StackOverflo

ruby-on-rails - Mongoid "no geo index :("错误

重现步骤:classVenuefield:coordinates,type:Arrayindex({coordinates:'2d'},{min:-180,max:180})end已经运行rakedb:mongoid:create_indexes尝试调用:Venue.geo_near([@lat,@long])得到:Moped::Errors::OperationFailure:Theoperation:#"venues",:near=>[43.670906,-79.393331],:query=>{},:spherical=>true}@fields=nil>failedwither

ruby-on-rails - 删除 mongoid 中的嵌入文档

我有一个只有名称字段的项目模型,其中还有与line_items的嵌入关系。类项目包括mongoid::document字段:名称embeds_many:line_items结束classLineItemincludemongoid::documentfield:titleembedded_in:project,:inverse_of=>:line_itemsend我想这更像是mongo驱动程序的问题:如果我有这样的文件db.project.find()[0]{_id:123,name:"housework",line_items:[{title:"cleanfridge",_id:60

ruby-on-rails - 继承的资源和 Mongoid

有没有人成功使用Rails3,Mongoid和InheritedResources在职的?实现它的任何提示?我很想同时使用这两种gem。目前我遇到了:undefinedmethod`scoped'关于索引操作。谢谢!顺便说一句,作用域问题的解决方法是像这样覆盖集合:classCampaignsControllerparams[:page])endend但我正在寻找更全面的方法 最佳答案 如果您只使用mongoid,您应该做的是覆盖InheritedResources中的默认集合行为。默认行为是这样的:https://github.c

ruby-on-rails - Mongoid Object.all 似乎返回了很多 []

为什么这不起作用:ruby-1.8.7-p249>List.create:search_terms=>'foo'=>#ruby-1.8.7-p249>List.all=>#ruby-1.8.7-p249>List.all.documents=>[] 最佳答案 我认为您正在寻找的是:List.all.to_a 关于ruby-on-rails-MongoidObject.all似乎返回了很多[],我们在StackOverflow上找到一个类似的问题: https:

ruby-on-rails - Mongoid:嵌入文档在父级构造时自动初始化

有没有办法让嵌入式文档在构建时自动初始化mongoid?我的意思是给定嵌入车库文档的用户。我必须编写以下代码来完全设置用户与车库:user=User.create!(name:"John")user.build_garageuser.garage.cars有没有办法可以跳过调用user.build_garage?谢谢 最佳答案 Mongoid3有autobuild选项,它告诉Mongoid在访问关系并且它是nil时实例化一个新文档。embeds_one:label,autobuild:truehas_one:producer,aut

ruby-on-rails - 使用 Mongoid 的 MongoDB 对话/私有(private)消息模式

我正在Rails中构建一个论坛系统,以便更加熟悉Rails和Mongoid。我想添加的一个功能是一个私有(private)消息系统论坛用户可以用来互相发送消息。在架构设计方面,我可以想到两种解决方案:解决方案1用户和消息是使用“has_many”和“belongs_to”相互链接的单独文档。Userdocumenthas_many:messages_sent,:class_name=>'Message',:inverse_of=>:message_senderhas_many:messages_received,:class_name=>'Message',:inverse_of=>:

mongodb - 带有 mongoid ... (Mongoid::Errors::NoSessionConfig) 的 Rails 应用程序:找不到名为 'default' 的 session 的配置

引用https://github.com/mongoid/mongoid/issues/2894#issuecomment-14903927我已经完成了所有必要的更改...问题仍然存在...spec_helper.rb文件ENV["RAILS_ENV"]||='test'requireFile.expand_path("../../config/environment",FILE)require'rspec/rails'require'rspec/autorun'require'rails/mongoid'gem文件gem'rails','4.0.0'gem'rspec-rails',

ruby-on-rails - 将 Rails 应用程序从 mongoid (MongoDB) 迁移到 ActiveRecord (Postgres) 时如何获得恒定的内存使用量?

我最近开始为Rails应用程序的开发提供咨询和帮助,该应用程序使用MongoDB(以Mongoid作为其DB客户端)来存储其所有模型实例。这在应用程序处于早期启动阶段时很好,但随着应用程序获得越来越多的客户端并且开始需要越来越复杂的查询以在界面中显示正确的统计信息和其他信息,我们决定唯一可行的解​​决方案是规范化数据,并改为使用结构化数据库。所以,我们现在正在将表和数据从MongoDB(使用Mongoid作为对象映射器)迁移到Postgres(使用ActiveRecord作为对象映射器)。因为我们必须确保Mongo数据库中没有不正确的非规范化数据,所以我们必须在Rails-land中运