草庐IT

ruby - Mongoid:从父级上的嵌入式文档运行回调

轨道3.0.1Mongoid(2.0.0.beta.20)类(class)帖子embeds_many:评论字段:comments_count结束ClassCommentembedded_in:commentable,:inverse_of=>:commentsend我想选择评论最多的10个帖子。为此,我需要Post中的comments_count字段。但由于我的评论是多态的(Post.comments、Message.comments等),我不想在Post中创建inc回调。我不想做的是在Comment中创建回调,这将更新Post中的comment_count字段。我不知道如何在父文档的

mongodb - 开放时间 MongoDB 的模式

您如何将开放时间存储在文档(例如图书馆)中的mongoDB中,以便使用Mongoid轻松查询?我读过this线程,但我不确定如何根据我的需要实现它。我需要能够每天添加多个开放和关闭时间,因为图书馆应该能够在一天中的某些时间关闭然后重新打开。我需要能够为这些营业时间添加异常(exception)情况。例如;在特定日期的星期一关闭。请分享一些关于如何以最灵活的方式做到这一点的最佳实践和经验。 最佳答案 谢谢Yeggeps提供的需求列表。这是根据您的要求修改的答案。当然,模式没有chalice,但我想在修改之前用一些示例数据+基于您的需求

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

mongodb - Mongo 将 and or 组合在一个查询中

我正在尝试找出查询mongo的最佳方式。我正在使用Mongoid和最新的mongo版本我想做的就是这样查询user_id=>[id数组]和user_type=>"some_type"或者user_id=>[id数组]和user_type=>"some_type"如何在Mongo/Mongoid中实现? 最佳答案 在mongoshell中,它类似于,db.yourcollection.find({$or:[{user_id:{$in:[array_of_ids]},user_type:"some_type"},{user_id:{$i

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查询。 最佳答案