草庐IT

mongoid3

全部标签

mongodb - 在应用程序级别生成 mongoId 或将其留给 mongo 之间有区别吗?

在我以前的所有应用程序中,我都在应用程序端生成ObjectID,并将其提供给Mongo以进行插入。另一方面,保留它并让Mongo自己生成它也没有错。现在我想知道:有什么区别吗。我知道有时你需要稍后使用这个ObjectID,如果你自己生成它你不应该担心它(我也知道如果你只是要求mongo插入它并不一定保证它会插入它) 最佳答案 的确,大多数驱动程序已经为应用程序端的_id字段生成了ObjectId。ObjectIddocumentation说明如果您不在插入命令中指定_id字段:themongodaddsthe_idfieldandg

ruby-on-rails - 当我有 Mongoid 时,Heroku 要求 PG gem

我收到以下错误Pleaseinstallthepostgresqladapter:`geminstallactiverecord-postgresql-adapter`(pgisnotpartofthebundle.AddittoGemfile.)(LoadError)每当我访问我的heroku应用程序中的页面时。我不知道为什么会这样,因为我在我的应用程序中使用了MongoDB和Mongoid。我还添加了MongoLabStarter作为heroku插件来修改MongoDB的应用程序。我删除了我的GemFile.lock并再次安装了捆绑软件。我的GemFile是source'https

ruby-on-rails - 在 map reduce 之前对 mongoid 集合进行排序

我如何在对其执行mapreduce操作之前对集合进行排序?假设我有这个收藏:{a:1,b:1},{a:2,b:2},{a:3,b:e},{a:1,b:7}现在,我想按a的值排序并返回b的总和我只需要x结果(按a排序)。我如何按a排序第一的?在mongo我可以这样做:mapReduce(map,reduce,{sort:{a:1}})我怎样才能在mongoid上做到这一点?它只接受map_reduce的2个参数功能。 最佳答案 检查这个问题后,我发现了两种方法:1-使用native驱动程序,例如:db=Mongoid::Session

ruby-on-rails - 无法在 mongoid 模型保存时将 Fixnum 转换为 String

我在ruby​​onrails上使用mongoid的保存选项,它给我一个错误can'tconvertFixnumintoString我的模型文件是产品.rbclassProductincludeMongoid::DocumentincludeMongoid::TimestampsincludeMongoid::Versioningfield:product_role,:type=>Stringfield:status_id,type:Moped::BSON::ObjectIdfield:status_name,type:Stringend状态.rbclassStatusincludeM

ruby-on-rails - Rails/MongoDb 搜索和优化搜索实现

我的应用程序中有一个搜索功能,其工作方式如下主页:用户从下拉列表中选择位置,然后输入搜索关键字并搜索以获得一组结果搜索页面(优化搜索选项):一旦用户从上方点击此页面,他将获得更多选项来优化搜索并缩小结果范围。现在我们正在实现如下,但我假设随着参数增加超过5-7,组合的数量也会增加if-else-elseif语句的数量。#refinesearch@search=params[:search]ifparams[:city].present?&¶ms[:location_ids].present?&¶ms[:search].blank?@blood_banks=BloodBa

mongodb - 如何在不先找到的情况下使用 Mongoid 执行批量更新?

我有一个这样的哈希数组:[{id:123,color:'red'},{id:456,color:'green'}]我知道如何一次获取和更新一个:params[:my_documents].eachdo|doc|MyDocument.find(doc[:id]).update_attributes(color:doc[:color])end...但我怀疑性能不是很好。我想找到一种可以将数据直接传递给Mongoid/MongoDB的方法,这样我就可以更新每个文档,而不必为了更新几个字段而查找和实例化每个文档。如何使用Mongoid执行批量更新而无需先获取它们?

ruby - 通过引用文档进行 Mongoid 查询

什么是mongoid/ruby语法:我想查询一个Parent包括所有Children(急切地)通过一些独特的Child属性(不是_id).classParentincludeMongoid::Documentfield:first_name,:type=>Stringfield:last_name,:type=>Stringhas_many:children,:class_name=>'Child',:inverse_of=>:parentendclassChildincludeMongoid::Documentfield:first_name,:type=>Stringfield:l

ios - 如何在 XCode 中创建 MongoID

我需要在XCode中创建一个MongoId,因为我使用该MongoId作为名称将文件上传到我的服务器。然后,如果文件上传成功,我会向我的服务器添加一个条目,说明照片是使用该MongoId上传的。我只需要在XCode中生成十六进制字符串。有什么办法吗?谢谢 最佳答案 只需使用下面的代码创建一个UUID,然后切断字符串的最后部分,使其与mongoId的长度相同。这是目前的解决方法,但可以完成工作。-(NSString*)uniqueFileName{CFUUIDReftheUniqueString=CFUUIDCreate(NULL);

ruby-on-rails - Mongoid : Embedded documents are saved under the wrong parent

当保存具有3层嵌套的文档时,子对象保存在错误的父对象下:user=User.createwebsite=user.websites.createpost=website.posts.createpost2=website.posts.createpost.images.createpost2.images.createputs"#{user.to_json}"puts"#{user.reload.to_json}"每个帖子都应该有一张图片,在脏用户对象(user.to_json)上也是如此=>https://gist.github.com/vdaubry/cdc465d6d5ef845

ruby-on-rails - 如何使用 Ruby Mongoid Moped 更新插入选项

如果数据已经存在,我需要更新MongoDB中的一些数据,如果不是用这些数据更新或创建记录。我的模型是:classGarageincludeMongoid::DocumentincludeMongoid::Attributes::Dynamichas_many:carsendclassCarincludeMongoid::DocumentincludeMongoid::Attributes::Dynamicbelongs_to:garageindex({car_make:1,plate_number:1},{sparse:true,unique:true,drop_dups:true})