草庐IT

ruby-on-rails - Mongoid store_in 产生随机结果

我正在使用Rails3.2.2和mongoid2.4.6。为了保持我的集合较小,我使用“store_in”语句将子对象存储到单独集合中的基类。我的代码如下所示:classBaseClassincludeMongoid::DocumentendclassChildClass1对象似乎随机存储在或或其他子集合中。Child1类型的对象有时会存储在集合Child2中。这是我在日志中看到的令人惊讶的事情:StartedPOST"/child_class_1"for127.0.0.1at2012-05-2210:22:51-0400ProcessingbyChildClass1Controlle

ruby-on-rails - 如何在 mongoid/rails 中获取一个字段?

我有一个模型classMyClassincludeMongoid::DocumentincludeMongoid::Timestampsfield:a,type:Stringfield:b,type:Stringfield:c,type:Stringend那么如何从MyClass集合?Rails/Ruby/Mongoid对此有什么语法糖吗?我知道,这样做是可能的:all_a=[]MyClass.desc(:created_at).eachdo|my_object|all_a.push(my_object.a)end但我想:MyClass.get(:fields=>:a)MyClass.

mongodb - 使用 MongoDB,有什么简单的方法可以重用 Map/Reduce 结果?

例如,在进行分析时,可能需要10秒的map/reduce运行。运行后,如果其他网页可以利用该结果,那么每页将节省10秒。以某种方式缓存map/reduce结果会很好。可以将成功的map/reduce运行记录为数据库中的map_reduce_result_[timestamp],然后将此时间戳保存在MongoDB中的db.run_log中。例如,此时间戳是UNIX纪元时间。所以当其他页面需要访问结果时,他们可以获得最大时间戳,然后只需查找存储在MongoDB中的那个结果。但这样做有点像hack,想知道是否有更好的方法来做到这一点。 最佳答案

ruby-on-rails - 想要将 "acts-as-taggable-on"用于 mongoid

我想为我的Rails应用程序使用“acts-as-taggable-on”gem。(rails3.0.10和ruby1.9.2p0)但我正在使用mongoid。由于“acts-as-taggable-on”适用于AR,有没有办法将其用于mongo。或者是否有任何其他可用于标记的gem可与mongo一起使用。 最佳答案 这里有几个现有的mongoid解决方案:https://github.com/wilkerlucio/mongoid_taggablehttp://abhishiv.tumblr.com/post/3623498128

java - Java 中是否有任何 Mongodb 映射器?像 Rails 中的 MongoMapper 和 Mongoid?

我在Java中使用mongodb。Java中有Mongodb映射器吗?喜欢Rails中的MongoMapper和Mongoid? 最佳答案 有morphia 关于java-Java中是否有任何Mongodb映射器?像Rails中的MongoMapper和Mongoid?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3271684/

ruby-on-rails - 将 Rails 项目从 MySQL 迁移到 MongoDB

我有一个项目正在开发中。我使用mysql和ActiveRecord。看起来这个项目是开始使用MongoDB(我从未使用过)和Mongoid适配器的好项目。将项目迁移到Mongo的最佳方式是什么?据我了解,我应该编辑我的模型(没什么大不了的),仅此而已?如何将我的数据从Mysql数据库导出到Mongo?我刚刚尝试了yaml_db,但它对我没有帮助。第二个问题是,如果我的系统崩溃,我应该如何保护我的Mongo数据库(据我所知,只要Mongo将数据存储在RAM中,它就会丢失数据)。我的数据库是10%/90%写入/读取。 最佳答案 我最近做

ruby-on-rails - 时间戳未在 RoR 应用程序中更新

我有一个小网站,可以按提交日期对新闻主题进行排序。在本地,这工作正常。即使连续快速发布故事,时间戳也会有所不同。例子:SubmittedFriMar2514:31:092011SubmittedFriMar2514:30:452011SubmittedFriMar2514:30:232011但是,一旦将代码推送到heroku并且使用MongoHQ设置了数据库,秒值似乎会被忽略或卡住。文档日期时间值示例:added_on03/14/201109:58AM示例时间戳:SubmittedThuMar2413:48:402011SubmittedThuMar2413:48:402011Subm

ruby - 对两个 Mongoid "any_in"查询执行 OR

如果我有两个如下所示的查询:Store.any_in(:store_id=>@user.stores_followed)Store.any_in(:store_id=>@category.stores)如何使用any_of将它们连接到OR中?我试过了,但没有。我试过了Store.any_of({:store_id.any_in=>@user.stores_followed},{:store_id.any_in=>@category.stores}) 最佳答案 看起来它在Mongoid中没有得到完全支持,所以我不得不这样做:Store

ruby-on-rails-3 - 在mongoid中获取至少一个关系对象的模型

我有一个Person对象,其中有很多公司。我想找至少一家公司的人。我现在能得到的是Person.where(:company_ids.size=>1)这将返回一个公司的所有人。但我需要类似的东西Person.where(:company_ids.size.gte=>1)但这似乎行不通。解决方案:很抱歉给您带来了麻烦,但我发现对于之前创建的对象,我没有company_ids...因为我是后来才添加的。我可以通过以下方式获得计数:Person.where(:company_ids.exists=>true).and("this.company_ids.length>0")感谢大家的帮助。

mongodb - Mongoid查询!限价和订单的组合

在我的Rails应用程序中,我想获取具有唯一值的最后10条记录。我试过:@users=User.all(:limit=>10,:sort=>[:created_at,:desc]).map{|t|t.first_name}.uniq但是,限制没有像我预期的那样工作..我希望“限制”最后影响查询。有什么想法吗? 最佳答案 @users=User.desc(:created_at).limit(10).map(&:first_name).uniq你应该使用distinct。uniq可能会导致您获得少于10条记录。@users=User.