草庐IT

mongoid3

全部标签

ruby-on-rails - Mongoid : IPv6 addresses storage

我需要使用Rails3+Mongoid将IPv6地址存储在Mongodb数据库中。集合中还将(大部分)有IPv4地址。我需要将地址存储为小数,因为我必须查询属于网络的地址(我会将网络和地址存储在不同的集合中)。我使用BigDecimals来存储这些地址(因为IPv6地址是128位长)但是当我试图找到哪些地址属于网络时(具体来说:在网络地址和广播地址之间),我没有找到任何可行的解决方案.Mongoid“gte”和“lte”似乎只适用于整数(BigDecimals实际上是字符串)并返回一个空列表,而且我找不到查询我的mongoid模型的字符串范围的方法。MongoDB似乎允许这样做(htt

ruby-on-rails - 递归嵌入和 Mongoid - 父不保存

我正在慢慢被这个问题搞得发疯。我很确定这是一件微不足道的事情,而且我误解了一些事情,因为我刚刚开始使用Mongoid(和RubyonRails)。我的模型如下:classDrawingincludeMongoid::Documentfield:image_uidimage_accessor:imagefield:date_created,type:Time,default:Time.nowrecursively_embeds_manyembedded_in:userembedded_in:painting_template,class_name:'Painting',inverse_o

mongodb - 版本 2 中 Mongoid 标准的映射/缩减操作

我是否正确,MongoDBmap/reduce功能在MongoId版本2+的MongoidCriteria上不可用谁能证实这一点我有一个标准这是我的查询classPerformerSourcescope:active_performers,where(:active=>true).only([:performer_id,:sort_order,:stage_name,:photo,:large_photo,:status,:current_performance_type,:current_sign_in_at])endPerformerSource.active_performers

PHP 在 MongoDB 中复制一个文档,替换它的 MongoID

当更改某个文档的位置时(不确定结构究竟如何),我想在将其保存回我当前的集合之前在另一个集合中创建该文档的备份。为了备份,我尝试了这个:$mongoDbObj=$collection->findOne($filter);...$collectionBackup->insert($mongoDbObj,true);...但这只有效一次,因为复制了MongoID。当我尝试再次备份同一个文档时,MongoID已经存在于backupCollection中。所以我的问题是:我可以用PHP复制MongoDB文档,用新的MongoID覆盖MongoID,然后插入另一个集合,而不更改原始文档的Mongo

ruby - 如何根据第一个或最后一个嵌入文档中的字段值提取 Mongoid 文档?

我希望根据最后嵌入的Notification文档中的字段查找Order文档。在下面的示例中,我希望找到所有具有一个或多个嵌入式通知的pendingorders,以及最后一个notification有一个5到10天前的datetime。我在这里的建议似乎并没有起到作用......:Order.where(status:'pending').gte('notifications.last.datetime'=>5.days.ago).lte('notifications.last.datetime'=>10.days.ago)这是两个模型:classOrderincludeMongoid:

ruby-on-rails - 2013 年 Mongoid 中的嵌套查询

所以这个问题已经有两年了:QueryingembeddedobjectsinMongoid/rails3("Lowerthan",Minoperatorsandsorting)以及它建议查询小于或大于的嵌套对象的方式:current_user.trips.where('start.time'=>{'$gte'=>Time.now}).count根本行不通,对于我遇到的大量这样的查询,它返回0,这是错误的。我也试过了current_user.trips.where(:'start.time'.gte=>Time.now}).count也是0。这些实际上都不会抛出错误。现在查询嵌套元素的正

arrays - mongoid 更新数组中的元素

我正在将mongoid3.1与Ruby1.9.3结合使用,并且我正在尝试更新数组中的值。我可以在mongodb的CLI中成功执行以下命令,但似乎无法为mongoid找到合适的解决方案/翻译。user.update({activities:{$elemMatch:{uuid:"1111111-xxxx-xxxx"}}},{$set:{'activities.$.submitted':true}})对于上下文,文档看起来像:{"_id":....,"user_name":"bob","activities:[{uuid:"1111111-xxxx-xxxx",submitted:true,

ruby-on-rails - Mongoid has_many 关系太慢(永不结束)- 40k 文档

我有一个Client和一个Group模型。一个客户有多个组。classClientincludeMongoid::DocumentincludeMongoid::ParanoiaincludeMongoid::Timestampsfield...has_many:groups,dependent::delete...endclassGroup...belongs_to:clientend一个客户有40k组,当我尝试client.groups时,它花费的时间太长。我已经等了几分钟,但它永远不会结束。MONGODB(14.2ms)humtl_development['groups'].fi

ruby-on-rails - 如何使用 mongoid 将 add_to_set 添加到多个数组并在单个查询中进行触摸

我希望添加到多个集合,同时更新updated_at时间戳(触摸)。我可以使用mongo驱动程序做到这一点:db.mycollection.update({"_id":ObjectId("911")},{$addToSet:{"hashtags":{$each:["#test1","#test5"]},"new_hash":{$each:["test9"]}},$set:{"updated":"currenttime3"}})我如何在Rails应用程序中使用mongoid在单个更新查询中执行此操作。现在,我需要使用mongoid进行3次写入:my_object.add_to_set("h

ruby-on-rails - Rails 4 中的 Mongoid 1-N 关系(一对多)

我正在尝试使用Mongoid在Rails4中的两个实体之间建立1-N(一对多)关系。到目前为止,我已经创建了一个带有“博客”和“评论”的简单应用(每个博客包含多条评论)。我正在使用has_many属性来定义关系。这是我到目前为止所得到的...classBlogincludeMongoid::DocumentincludeMongoid::Timestampshas_many:comments,validate:falsefield:title,type:Stringfield:content,type:StringendclassCommentincludeMongoid::Docum