草庐IT

mongoid4

全部标签

ruby-on-rails - 我如何在 ruby​​ on rails 中生成 mongoid.yml 文件

当我运行这个命令时"railsgmongoid:config"然后显示这个错误信息"Couldnotfindgeneratormongoid:config"我该如何解决这个问题?请帮助我...我在我的GemFile中添加了gem"mongoid"和gem"rspec" 最佳答案 将GemFile编辑为gem'mongoid',git:'https://github.com/mongoid/mongoid.git'然后运行bundleinstall 关于ruby-on-rails-我如何在

ruby-on-rails - 如何在 mongoid 中使用 AND 条件进行查询

如何在Mongoid中使用AND条件进行查询? 最佳答案 您可以链接where语句或将多个条件包含到where调用中。Model.where(condition_a::a,condition_b::b).all或Model.where(condition_a::a).where(condition_b::b).all 关于ruby-on-rails-如何在mongoid中使用AND条件进行查询,我们在StackOverflow上找到一个类似的问题: https

mongodb - 未找到 Mongoid session

试用Sinatra|Mongoid3.每当我尝试保存到数据库时,我都会遇到以下错误。Mongoid::Errors::NoSessionsConfig:Problem:Nosessionsconfigurationprovided.Summary:Mongoid'sconfigurationrequiresthatyouprovidedetailsabouteachsessionthatcanbeconnectedto,andrequiresinthesessionsconfigatleast1defaultsessiontoexist.Resolution:Doublecheckyo

ruby-on-rails - Mongoid embeds_many 和 has_many 到同一个模型

我有一个嵌入了许多“SuggestedPerson”的模型“Person”。SuggestedPerson还引用另一个人(被建议的人)。所以Person需要embed_many和has_manySuggestedPerson。问题是Mongo返回错误:Failure/Error:Mongoid::Errors::MixedRelations:Problem:Referencinga(n)SuggestedPersondocumentfromthePersondocumentviaarelationalassociationisnotallowedsincetheSuggestedPer

ruby-on-rails - bool 值不起作用的Mongoid

我正在使用'mongo','1.6.2'和'mongoid','2.4.11'。我有ProPlayer模型,当我在控制台中运行时。irb(main):006:0>ProPlayer.first=>#这里使用is_pro_player记录为真实存在,但是当我运行where查询时,返回零条记录但实际上存在71条记录。irb(main):008:0>ProPlayer.where(:is_pro_player=>true).to_a.size=>0此查询之前有效,但突然无效。谁能告诉我可能是什么问题? 最佳答案 尝试以下操作:ProPla

ruby-on-rails - Mongoid 历史 - 性能问题

我正在尝试使用mongoid和mongoid-historygem对MongoDB中的文档进行版本控制。不幸的是我遇到了性能问题。当我获取文档集合并且我想为每个条目获取特定版本时,每次调用方法:entry.history_tracks都会导致调用1个数据库查询到历史轨迹集合。因此,当我有100个条目的集合时,我会得到1+100个数据库查询。有什么简单的方法可以解决这个问题吗?我尝试了cache方法,但它没有解决问题,因为每个查询都是不同的。 最佳答案 好吧,我放弃并完成了两个mongo集合,一个包含已发布的条目,另一个包含当前条目(

ruby-on-rails - 如何使用 Mongoid 在 Mongo 中存储 UTC 时间值?

我观察到的Mongoid适配器的行为是它将带有当前系统时区的“时间”字段保存到数据库中。请注意,它是系统时间而不是Rail环境的Time.zone。如果我更改系统时区,则后续保存将采用当前系统时区。#systemcurrentlyatUTC-7@record.time_attribute=Time.now.utc@record.save#inmongo,thevalueis"time_attribute":"MonMay17201012:00:00GMT-0700(QYZST)"@record.reload.time_attribute.utc?#false

ruby-on-rails - Mongoid3/助力车 : database=admin command={:ismaster=>1}

我已将我的Rails应用程序升级到3.2.8和Mongoid3/Moped。在开发中一切正常,在我的开发机器上设置为生产时,railsc在我的生产设置中也工作正常。但是,该应用程序没有启动(部署在乘客身上)并且似乎只是超时,没有产生任何错误。我将log_level设置为在生产中调试,这是我看到的:Creatingscope:near.OverwritingexistingmethodCity.near.MOPED:127.0.0.1:27017COMMANDdatabase=admincommand={:ismaster=>1}(5.8458ms)MOPED:127.0.0.1:270

ruby - 我可以在不坚持的情况下删除 Mongoid 中的嵌入式文档吗?

绝对与thisquestion有关,但既然没有明确的答案,我觉得我应该再问一次。是否有任何方法可以从Mongoidembeds_many关系中删除嵌入式文档,而无需持久化?我想修改内存中的嵌入式文档数组-然后通过单个UPDATE操作保留所有更改。具体来说,我想:修改嵌入式文档数组(添加嵌入式文档/删除嵌入式文档/编辑嵌入式文档等)。可能对TLD进行其他更改。通过一次数据库调用保存所有更改。 最佳答案 可以使用Mongoid删除嵌入文档而不保存。诀窍是使用assign_attributes从父对象进行更改。例如:classMyPare

mongodb - mongoid 中的排序和分组

我想要按年龄排序的人群我试过这样的东西Person.only(:name).asc(:age).group但没有按年龄排序。我该怎么做?我正在使用mongoidbeta19。 最佳答案 如果我没记错的话,一旦你打电话Person.only(:name)Mongoid基本上认为集合只有那个字段,所以一旦您尝试按年龄排序,就没有年龄字段可以排序,所以它什么都不做。尝试Person.asc(:age).only(:name).group或者可能Person.asc(:age).only([:name,:age]).group