草庐IT

mongoid3

全部标签

ruby-on-rails - 数组中元素的 Mongoid 正则表达式

我有两个模型,一个用户模型和一个嵌入式模型消息classUserincludeMongoid::Documentembeds_many:messagesendclassMessageincludeMongoid::Documentfield:keywords,:type=>Arrayend我正在尝试做类似的事情:u=User.lastu.messages.where(:keywords=>/sometext/).first但这不会返回任何内容,如果字段不是Array类型并且是String,则正则表达式似乎可以正常工作。我怎样才能用Mongoid做这样的事情?我还应该提到这个Mongo查

ruby-on-rails-3 - Mongoid `any_of` 可以包括使用外部文档关系吗?

我将MongoDB与Mongoid一起使用,并在我们查看权重等之前尝试将基本搜索作为占位符。any_of方法似乎正在查找我的嵌入式文档,但不是那些由关系联系起来。有谁知道any_of是否可以包含与数据库中其他文档的关系,如果可以,语法是什么?belongs_to:principal#ownerbelongs_to:account#ownerscope:search,->(text){any_of({:description=>/#{text}/i},{:name=>/#{text}/i},{"entries.title"=>/#{text}/i},{"entries.descripti

mongodb - 如何通过 Mongoid 中的动态属性对文档进行排序

我正在使用Mongoid来存储一系列经过地理编码的列表。这些列表需要按价格和距离排序。每个列表的价格是数据库中的一个字段,而距离是一个动态属性,对每个用户都是唯一的。classListingincludeMongoid::Documentfield:pricedefdistanceget_distance(current_user.location,coordinates)endend如何按距离对这些文档进行排序?我尝试了@listing.desc(:distance)但没有成功。 最佳答案 简短(无用)的回答是:你不能。Mongo

ruby - Mongoid 1..N多态引用关系

我有以下型号classTrackincludeMongoid::Documentfield:artist,type:Stringfield:title,type:Stringhas_many:subtitles,as::subtitlesetendclassSubtitleincludeMongoid::Documentfield:lines,type:Arraybelongs_to:subtitleset,polymorphic:trueendclassUserincludeMongoid::Documentfield:name,type:Stringhas_many:subtitl

mongodb - Mongoid 中的自定义查询

是否可以将自定义javascript传递给Mongoid,类似于事件记录中的find_by_sql或update_all?我想到的特殊情况是我想在一堆符合条件的文档上inc一个字段。看起来这在MongoDB中是可行的:http://www.mongodb.org/display/DOCS/Updating#Updating-ModifierOperationsdb.people.update({name:"Joe"},{$inc:{created_at:-1}});但我不认为Mongoid允许它(它似乎一次只允许你inc一个文档)。而他们的update_all方法我相信只能用$set。

mongodb - 为什么 Mongoid 不在分片环境中将 slaveOk 发送到 mongos?

我可以从“mongos”控制台发起查询,并查看读取命中初选。我可以成功执行rs.slaveOk();然后触发相同的查询,并看到读取命中辅助节点。问题是无论我尝试什么,我都无法在Mongoid中获得查询击中次级。它似乎没有发送slaveOk。我试过在mongoid.yml中设置read::secondary,我也试过read_secondary:true,但底层连接是不是副本集,所以我想这就是mongoid忽略它的原因。有没有其他方法(除了创建我自己的连接池和设置:slave_ok)让mongoid工作?我是否缺少一些神奇的未记录的yml设置? 最佳答案

ruby - 是否可以从一对多关系的 belongs_to 端使用 mongoid "nested attributes"?

是否可以在一对一关系的belongs_to端使用mongoid“nestedattributes”?例子:classBar1includeMongoid::Documentbelongs_to:bar2accepts_nested_attributes_for:bar2end当我尝试访问嵌套属性时,出现以下异常:NoMethodError:undefinedmethod`bar2_attributes'我的主要目标是使用“嵌套属性”功能来缓存引用的文档属性。我做错了什么? 最佳答案 当您应该使用数组访问方法时,您可能会尝试像Clas

ruby - 如何使用 mongoid 查询嵌入式文档中的子类?

我有一个盒子,里面有很多不同类型的玩具:classBoxembeds_many:toysendclassToyfield:nameembedded_in:boxendclassCar如果我找到了我想要的特定盒子对象,我该如何查询它以仅找到汽车?my_box.toys.where(???Car???)显然,我可以遍历每个玩具并提取toy.is_a?Car,但我正在寻找一种解决方案,如果存在的话,它只使用内置的mongoid标准/查找器。 最佳答案 这是个好问题。幸运的是Mongoid曾经在文档中存储_type元属性来处理这些场景所以你

ruby-on-rails - rails ,排序 mongoid child

我在使用mongoid进行排序时遇到问题。我正在使用voteable_mongo收集对给定对象的投票,现在我想根据这些进行排序,但我没有任何运气:它在模型上提供了一个类似这样的字段,并有一个名为votes_point的方法:{"count"=>1,"down"=>[BSON::ObjectId('4f450fd725ae0b7538000002')],"down_count"=>1,"point"=>-1,"up"=>[],"up_count"=>0}代码:@word.definitions.order_by([:votes_point]).eachdo|definition|或@wo

ruby-on-rails-3 - mongoid 查询 - 调用 size 方法产生错误

当我执行这个查询时:User.where(:comments.size=>10)我收到以下错误:undefinedmethod`size'for:comments:Symbol但是根据这里的文档:http://mongoid.org/docs/querying/criteria.html这应该是可能的。那么,为什么会出错?注意:'comments'是独立于User的集合,具有'has_and_belongs_to_many'关系。我正在使用mongoid3.0.0和bson_ext1.6.1提前致谢! 最佳答案 这在用户嵌入评论时有