草庐IT

mongoid4

全部标签

ruby-on-rails - 从 mongoid 中的文档中排除字段?

我有一个包含许多动态属性的Record模型。我想向模型发出请求,并将响应作为JSON发送给客户端。但我想排除_id和此模型中的所有foreign_keys之类的字段。我找到了一个关于如何排除某些键的值的有趣答案:HowdoIexcludefieldsfromanembeddeddocumentinMongoid?,但响应中的键仍然存在。我得到了:{"_id":1,"name":"tom"}without方法使得:{"_id":nil,"name":"tom"}但是我想要:{"name":"tom"}是否可以从结果中删除或排除一些键和值? 最佳答案

ruby-on-rails - 外键和 Mongoid

Mongoid中两个模型之间的关系是否明确需要外键?例如。classUserincludeMongoid::Documenthas_many:postsendclassPostincludeMongoid::Documentbelongs_to:user#Isthisnecessarybelow?field:user_id,type:IntegerendMongoid网站上的文档在讨论关系时没有说明任何字段声明,这就是我问的原因。 最佳答案 不,通常不需要单独的外键字段声明。Mongoid将在任何需要它的文档上隐式创建user_id

ruby-on-rails - Mongoid 使用 has_one 将一个对象与同一类的两个不同对象相关联

我看到了1:N解决此类问题的方法,但他们似乎没有读到1:1,这是使用MongoDB1.8、Mongoid2.0.0.rc.8、Rails3.0.5classCoachincludeMongoid::Documentfield:name,:type=>Stringbelongs_to:coached,:class_name=>Team,:inverse_of=>:coach,:foreign_key=>"coach_id"belongs_to:assisted,:class_name=>Team,:inverse_of=>:assist,:foreign_key=>"assist_id"

ruby-on-rails - Mongoid 嵌入/has_many :through equivalent

在Mongoid中,我如何实现ActiveRecord:through=>提供的相同功能?classAdvertiserincludeMongoid::Documentembeds_many:campaigns#howwouldIdothisembeds_many:advertisements,:through=>:campaignsendclassCampaignembedded_in:advertiserembeds_many:advertisementsendclassAdvertisementembedded_in:campaign#orthis?embedded_in:adv

mongodb - Mongoid:如何返回符合特定条件的文档数?

我需要返回一个计数列表(所有记录,所有符合特定条件的记录)。我知道如何使用MySQL(SELECTCOUNT(*)WHERE...)执行此操作,但我不熟悉如何使用Mongo和Mongoid执行此操作。我怎样才能以最有效的方式获取这些计数? 最佳答案 来自Mongoiddocumentation:Model.count返回数据库中文档的数量。如果要指定条件,请使用where#Getthecountofdocuments.Person.count#Getthecountofdocumentsgiventheprovidedconditi

ruby-on-rails - mongoid 模型的 key 不起作用

我将gemmongoid安装到RoR应用程序,但收到错误消息“未定义的方法`key?'对于nil:NilClass",同时将属性分配给键函数。所以我有这个模型:classAuthorincludeMongoid::Documentfield:namekey:nameend默认脚手架Controller并运行这个urllocalhost:3000/authors,收到这个错误NoMethodErrorinAuthorsController#indexundefinedmethod`key?'fornil:NilClassRails.root:C:/Users/Jeremy/Rubymin

mongoid - MongoDB 查询一个数组以获得精确的元素匹配,但可能是乱序的

我在MongoDB中有一个如下所示的文档:{users:["2","3","4"]}我尝试通过匹配用户数组来查询此文档。db.things.find({users:{$all:["2","3","4"]}})该查询有效,但也会返回此文档:{users:["2","3","4","5"]}最后的要求是能够查询元素乱序的用户数组,比如查询中的["3","4","2"],它能够返回我列出的第一个文档。如有任何帮助,我们将不胜感激。提前致谢。我也在使用mongoid,如果它有一个任何人都知道的助手,但如果我需要的话可以直接进行mongo查询。 最佳答案

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.

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