草庐IT

ruby-on-rails - 在 Rails+Mongoid 中 find_or_create 创建的重复记录

我有一个对象Message仅由该行创建:Message.find_or_create_by(:api_id=>params['message_id'])理论上,我不应该有两条具有相同api_id的消息,但是……我有。当两个请求同时发生并且都调用该行时,就会发生这种情况。其他人发布了与ActiveRecord相同的问题:DuplicateRecordscreatedbyfind_or_create_by_但我正在使用Mongoid。我该如何解决这个问题? 最佳答案 使用upserts找到了解决方案:Message.collection

ruby-on-rails - Mongoid:一次调用创建多个对象

我将从Twitter检索1000个用户,我想一次性保存他们,而不是单独进行1000次插入。如何在Mongoid上做到这一点?像这样的东西会摇滚:TwitterUser.createMany([{:name=>u1},{:name=>u2},{:name=>u3}]) 最佳答案 您应该使用Mongoruby​​驱动程序来执行此操作。您可以将哈希数组传递给insertmethod一次创建多个文档(有关此googlegroupsdiscussion的更多信息)。Mongoid使访问ruby​​驱动程序变得容易。代码如下所示:user_li

activerecord - Mongodb,mongoid Rails 3.1.* 事件记录错误

3-4个月后,我回到了另一个关于RoR的项目,使用Mongoid。我被困在一个奇怪的问题上。正如我一直在关注Mongoid记录的那样。于是生成了mongoid.yml,删除了database.yml。并改变了#require'rails/all'require"action_controller/railtie"require"action_mailer/railtie"require"active_resource/railtie"require"rails/test_unit/railtie"require"sprockets/railtie"#Uncommentthislinef

ruby-on-rails - Mongoid 查询中的日期

我有一个模型:classSimpleActionincludeMongoid::Documentfield:set_date,:type=>Date我收集了一些数据:{"_id":ObjectId("4f6dd2e83a698b2518000006"),"name":"lost","notes":"","set_date(1i)":"2012","set_date(2i)":"3","set_date(3i)":"25","set_date(4i)":"13","set_date(5i)":"57","duration":15,"todo":"4"}您可以在五个字段中看到mongoid

ruby-on-rails - 无法连接到副本集的主节点 <Moped::Cluster nodes=[<Moped::Node resolved_address ="127.0.0.1:27017">]>

我正在关注带有Devise和Mongoid(http://railsapps.github.io/tutorial-rails-mongoid-devise.html)的RailsApp教程,当我在“设置数据库种子文件”部分进入“Rakedb:seed”时遇到以下错误。Couldnotconnecttoaprimarynodeforreplicaset]>我已在此页面上尝试了nixoncd的说明,但尚未解决此问题。它告诉我“文件存在”和“已加载”。'https://groups.google.com/forum/#!topic/mongodb-user/Hhh8iNCciMk如果我在终

ruby-on-rails - 无法连接到副本集的主节点 <Moped::Cluster nodes=[<Moped::Node resolved_address ="127.0.0.1:27017">]>

我正在关注带有Devise和Mongoid(http://railsapps.github.io/tutorial-rails-mongoid-devise.html)的RailsApp教程,当我在“设置数据库种子文件”部分进入“Rakedb:seed”时遇到以下错误。Couldnotconnecttoaprimarynodeforreplicaset]>我已在此页面上尝试了nixoncd的说明,但尚未解决此问题。它告诉我“文件存在”和“已加载”。'https://groups.google.com/forum/#!topic/mongodb-user/Hhh8iNCciMk如果我在终

ruby-on-rails - Mongoid中的模糊关系

我试图在Post模型中使用viewer_ids来保存user_ids,并在User模型中使用viewer_ids来保存被查看的post_ids。使用Rspec进行测试以添加/删除和访问来自用户的关系时,它工作得很好。但是当我使用RABL来查看帖子时——同时嵌入了用户数据——它会变得很困惑,并给我一个模棱两可的关系。#Postclassbelongs_to:userhas_and_belongs_to_many:viewers,class_name:'User',inverse_of::viewed#Userclasshas_many:usershas_and_belongs_to_ma

ruby-on-rails-3 - 使用 Rails/Mongoid 进行地理空间查询的最佳教程是什么?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前。我在我的Rails应用程序中使用Mongoid。是否有任何关于如何存储和查询位置数据以及获取位于某个位置半径内的对象的教程?我一直在寻找,没有找到任何东西。 最佳答案 因为和我一样,我怀疑很多人从示例中学习得更好,这里有一个:假设您已在地理空间数组字段上创建了一个二维索引(有关详细信息,请参见下文

ruby-on-rails - 使用 Rails/Mongoid/MongoDB 进行迁移有意义吗?

我应该在更改模型时创建AR迁移吗?我正在使用Mongoid和MongoDB,所以我看不到任何好处。我能想到的唯一好处是重命名一个字段——但我也可以用小脚本来做。那还能用吗?我的直觉告诉我,我不需要迁移,但我想听听有更多经验的人的意见。最佳做法是什么?我应该在MongoDB中使用迁移吗? 最佳答案 由于MongoDB不(在2.6中)提供任何服务器端架构实现,因此数据迁移脚本不是严格要求的。这对开发速度特别有帮助。但是,如果您想实践良好的“数据卫生”并确保不同部署之间的一致性,为生产数据创建迁移可能仍然有意义。例如:删除未使用的字段添加

ruby-on-rails - 不能将 datetime_select 与 Mongoid 一起使用

每次我尝试在View中使用Datetime_select时,应用程序都会引发属性错误。Mongoid::Errors::UnknownAttribute:Problem:Attemptedtosetavaluefor'fromtime(1i)'whichisnotallowedonthemodelEvent.Summary:WithoutincludingMongoid::Attributes::Dynamicinyourmodelandtheattributedoesnotalreadyexistintheattributeshash,attemptingtocallEvent#fr