草庐IT

ruby-on-rails - 带有 "Foreign Key"的 Mongoid

作为mongodb的老手,我创建了如下结构:User:{name:str,email:...}Gift:{#authorandreceiverrefertoUserobjectsobviouslyauthor:object_id(...),receiver:object_id(...),name:str...}我想在mongoid中正确映射它:classUserincludeMongoid::Documenthas_many:giftsendclassGiftincludeMongoid::Documentbelongs_to:userend但是,映射不正确。g=Gift.first;

ruby-on-rails - Mongoid:选择适合多个选项的嵌入对象

我有这个结构classHouseincludeMongoid::Documentembeds_many:inhabitantsendclassInhabitantincludeMongoid::Documentembedded_in:housefield:namefield:genderfield:ageend我可以得到所有女性居住的房子:houses=House.where("inhabitants.gender"=>"female")但是我怎样才能得到所有50岁以下女性居住的房子呢?如何为嵌入对象指定多个条件? 最佳答案 要对数

ruby-on-rails - Rails3/Mongoid - 基本数据库 :seed with embedded documents

我在Rails3.1中使用MongoID。我想播种我的数据库(在开发和生产中)。我有一个嵌入了Feed的页面模型。为每个页面植入嵌入式提要的最佳方式是什么?我可以轻松地为所有页面数据播种,而不是嵌入的提要。请注意,我正在寻找这些页面/提要的实际唯一数据,而不仅仅是任意测试数据。谢谢!page.rb(模型)...embeds_many:feedsfeed.rb(模型)classFeedincludeMongoid::Documentfield:source,:type=>Stringfield:user,:type=>Stringembedded_in:page,:inverse_of=

ruby-on-rails - 在 mongoid 上进行全文搜索所需的建议

我有一个mongoidembeddedonetomanyRails3.1上的模型,可在其中进行全文搜索。我也需要在heroku上部署一些非常轻便和简单的东西,最初无需支付附加组件的费用。目前所有的heroku全文搜索附加组件,似乎都只有付费计划(一开始并不好),请参阅FlyingSphinx和Websolr。我需要有关好的解决方案(可部署在heroku上的ruby​​gem)的建议,以开始并最终扩展到其他云服务。 最佳答案 也许MongoDB的核心功能足以满足您的需求:http://www.mongodb.org/display/D

ruby-on-rails-3 - 带有 Mongoid Embedded 和 Standalone 的 Rails 模型

我如何创建一个能够保存在自己的集合中并嵌入到另一个文档中的Mongoid模型? 最佳答案 简短的回答:你不能。当您在两个Mongoid文档之间使用嵌入关系时,这是因为您不希望子模型在其自己的集合中。嵌入式文档字面意思是:嵌入在其父级中。我不确定您是否是Mongoid的新手,所以您实际上可能正在寻找的是引用关系,它的行为更像传统的RDBMS关系,其中子文档存储对父文档ID的引用.Mongoid文档以here开头.鉴于这些嵌入式模型,在两者之间切换非常容易:classPersonincludeMongoid::Documentfield

mongodb - 在 MongoDB 文档中获取文档的键

除了遍历文档之外,是否有任何方法可以获取MongoDB中特定文档的键列表?即我想获取由返回的文档的keydb.users.find({username:'xyz@abc.com})是否有任何内联命令。如果没有,任何人都可以给出如何做的想法吗? 最佳答案 Object.keys(db.users.findOne({username:'xyz@abc.com'}))将返回特定文档的所有键的列表。 关于mongodb-在MongoDB文档中获取文档的键,我们在StackOverflow上找到一

ruby-on-rails - Mongoid 查询 has_many

我有一个相当简单的mongodb模型目前有2个收藏学生类(class)(嵌入主题)classStudent我知道mongoid不支持直接查询has_many即Student.courses所以如果我想获得学生科目是唯一的方法@student=Student.firstCourse.find(@student.courses).subjects目前执行3个查询MOPED:127.0.0.1:27017QUERYdatabase=testcollection=usersselector={"$query"=>{"_type"=>{"$in"=>["Student"]}},"$orderby

ruby-on-rails - Heroku 预编译 Assets 失败

我很难解决以下问题并弄清楚为什么我的Assets无法在slug编译时预编译...奇怪的是,当我检查实时日志时Assets在运行时编译正常...任何想法?是否正在尝试连接到数据库?PreparingappforRailsassetpipelineRunning:rakeassets:precompilerakeaborted!undefinedmethod`match'fornil:NilClass/tmp/build_27348f41-abb7-46f0-a7ac-6f66bf0feff7/vendor/bundle/ruby/1.9.1/gems/mongoid-3.1.4/lib/

ruby - 如何查询mongoid 'not_in' 'greater than'

如果我想搜索一个属性大于100的mongoid模型,我会这样做。Model.where({'price'=>{'$gt'=>100}})如何搜索没有属性大于100的mongoid模型?试过这个但失败了。Model.not_in({'price'=>[{'$gt'=>100}]})附加信息:归根结底,我想像这样进行查询:criteria={'price'=>[{'$gt'=>100}],'size'=>'large','brand'=>'xyz'}Model.not_in(criteria)因为标准是动态创建的。 最佳答案 属性不大于

ruby-on-rails - “validates_presence_of”在 Mongoid 中效果不佳?

有两个类:classPersonincludeMongoid::Documentfield:nameembeds_many:addressesendclassAddressincludeMongoid::Documentfield:cityfield:streetvalidates_presence_of:city,:streetend我们可以看到,我们已经验证了city和street应该存在。但是看下面的代码:person=Person.newperson.addressestrue并且,我们使用mongo直接查看数据库:$mongo>usethe_db>db.people.find