草庐IT

mongoid4

全部标签

mongodb - 文本的 MongoID 数据类型

对于常规MongoDBTEXT数据类型,MongoID数据类型的最佳选择是什么。想知道为什么MongoID没有数据类型TEXT。是否可以使用STRING类型存储大量数据。P.S来自SQL背景。 最佳答案 根据mongoiddocumentation所有字段都是字符串,除非我们明确指定其他数据类型。不同于SQL的varchar和text的区别,mongo中的字符串没有限制(唯一的限制是16MB最大文档大小),因此无需担心大小。 关于mongodb-文本的MongoID数据类型,我们在Sta

mongodb - mongoid : when and how often should I run rake db:mongoid:create_indexes? 中的索引

从文档中不太清楚:我应该何时以及多久运行一次rakedb:mongoid:create_indexes。假设我已经在模型中添加了一些索引宏,并且将来永远不会添加新的。这是否意味着我可以只运行一次rake任务,或者我应该运行它,比如每天一次? 最佳答案 您应该运行一次任务。索引创建完成后,由于索引已经存在,无需再次添加,无需再执行命令。当然,如果你创建新索引,你需要运行命令将新索引添加到mongodb。 关于mongodb-mongoid:whenandhowoftenshouldIrun

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 - 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