草庐IT

ruby-on-rails - 相当于 create_with 的 Mongoid

是否有等效的ActiveRecordsModel.create_with来传递与Mongoid中的查找参数分开的创建参数?#Findthefirstusernamed"Scarlett"orcreateanewonewith#aparticularlastname.User.create_with(last_name:'Johansson').find_or_create_by(first_name:'Scarlett')#=>#我发现自己使用了一个笨拙的解决方法:user=User.find_or_initialze_by(first_name:'Scarlett')user.upd

ruby-on-rails - 获取所有 child 的 child 等等

我正在使用MongoDb作为数据库。我想要所有child的child等等。让我们假设A有B和C的childB有D和E的childD有F和G的child所以当我查询子节点时A。我将所有child作为输出,例如BCDEFGC=Customer.find_by(:id=>"SOME_ID")C.children#listallchildrenuptoonelevel所以任何人都可以向我推荐获得递归子项的方法。客户模型classCustomerincludeMongoid::Documentfield:email,type:Stringfield:referral_id,type:String

ruby-on-rails - Mongoid 中的字段别名

有谁知道Mongoid是否内置了对别名字段名称的支持?我一直在运行一些测试,其中我有一个包含最少字段(7个字段)的集合。如果我使用描述性名称并加载真实数据,然后使用大大缩短的名称并加载相同的真实世界数据,我会发现我的集合总大小减少了40%。在查看MongoDB(非Ruby)的其他驱动程序时,我发现其中一些驱动程序内置了支持,您可以在其中根据描述性名称编写代码,但持久性足够智能,可以使用开发人员定义的别名。我只是想确定Mongoid是否有类似的东西。 最佳答案 实际上最好的方法不是使用ruby​​别名而是:field:fn,:as=>

ruby-on-rails - MongoDB/Mongoid : Can one query for ObjectID in embedded documents?

郑重声明,对于Rails和MongoDB,我还是个新手。我正在使用Rails+Mongoid+MongoDB构建一个应用程序,我注意到Mongoid出于某种原因将ObjectID添加到嵌入式文档中。有什么方法可以通过ObjectID查询集合中的所有文档,包括主文档和嵌套文档?如果我运行这个命令db.programs.findOne({_id:ObjectId("4d1a035cfa87b171e9000002")})我得到这些结果是正常的,因为我在根级别查询ObjectID。{"_id":ObjectId("4d1a035cfa87b171e9000002"),"created_at"

ruby - 使用 Mongodb 存储一个非常大的 "blacklist"ids 列表

我需要在mongo中存储一个无序列表的ID作为“黑名单”,并纯粹用于检查原因。blacklisted_ids=[1,23......100002942234...someverylargenumber]但是将它存储在单个文档中是不可行的,因为我会很快突破2Mb的限制。我可以在mongodb中创建一个集合,并将每个id作为文档插入,但这似乎有点过分,因为我只想检查是否存在。执行此操作的正确方法是什么?注意:我使用的是mongoid/rails。=) 最佳答案 这些id是整数吗?Mongo的文档大小限制在1.8版中提高到16MB,因此您

mysql - Rails 3 MySql 和 MongoDB

我正在开始使用Rails3进行一个大型项目。我想使用MySql和MongoDB构建应用程序。我已经知道如何将Rails与MySql一起使用,并且找到了很多关于使用MongoDB和Rails的信息。但是我没能找到任何关于一起使用MySql和MongoDB的好信息。我在看Mongoid项目,认为它会很好用,我想我不知道它是否是最好的解决方案。在安装/配置部分下的Mongoid站点上,它讨论了同时使用Mongoid和ActiveRecord,但没有解释如何使用。所以,我希望有人能告诉我如何设置Mongoid和ActiveRecord一起工作,或者更好的解决方案。

ruby-on-rails - ConnectionFailure 在 rails 3.1 中使用 mongo

我有一个使用Rails3.1、Mongo1.4.0、Mongoid2.2.4的应用设置。我遇到的是这样的:Mongo::ConnectionFailure:Failedtoconnecttoamasternodeatlocalhost:27017我以前遇到过这个问题,但它在计算机重新启动后消失了……这次没有了。我不明白,我什么都没做。我只是让我的电脑进入休眠模式,回到家并唤醒它,然后它就在那里。这是sudomongod的输出FriNov2521:47:14[initandlisten]MongoDBstarting:pid=1963port=27017dbpath=/data/db/6

ruby-on-rails - Authlogic 如何与 Mongoid 一起使用?

Authlogic需要许多ActiveRecord功能,这些功能在ActiveModel中不可用,因此在Mongoid中也不可用。Authlogic如何与Mongoid一起使用? 最佳答案 Authlogic可以通过猴子修补Authlogic与Mongoid一起使用。YMMV.首先,将Authlogic和Mongoid添加到Gemfile。gem'mongoid',github:'mongoid/mongoid'#CurrentlyrequiredforRails4gem'authlogic','~>3.3.0'下一个猴子补丁Aut

ruby-on-rails - Mongoid 将一个类嵌入为多个字段

我正在尝试跟踪用户的当前、之前和选择的(期末更改)订阅状态。在每月周期结束时,如果chosen_subscription!=current_subscription,current_subscription会发生变化。classUserincludeMongoid::Documentembeds_one:previous_subscription,class_name:"Subscription"embeds_one:current_subscription,class_name:"Subscription"embeds_one:chosen_subscription,class_na

ruby-on-rails - Mongoid 动态更改主机

Mongoid提供了几个选项来更改正在使用的mongodb数据库,方法是指定新数据库或将session名称更改为已在mongoid.yml文件中定义的名称。我想知道是否有办法在运行应用程序时更改session(即mongodb主机)。因此,例如,如果我启动我的应用程序并且它最初在服务器1上的主数据库上运行,有没有办法说使用服务器上的示例数据库2 最佳答案 下面允许用户动态添加sessionsession_hash={"database"=>"testmongo","hosts"=>["127.0.0.1:3003"],"userna