草庐IT

mongoid6

全部标签

ruby - 在 mongoid 上提取多个和/或嵌套字段

我在mongodb中有以下查询数据库,它返回的正是我所需要的:db.collection.find({field1:2801394},{name:1,field2:1,_id:1,"field3.2801394":1})注意字段3是一个哈希,这里使用的key与field1相同,只是字段1中的值。如何将此查询转换为mongoid?这里有两个主要问题,我在网上找不到任何一个单独的问题:我无法弄清楚同时提取两个字段的语法我找不到提取嵌套字段的语法。谢谢! 最佳答案 要过滤/投影一个或多个字段,您可以使用http://mongoid.org

ruby-on-rails - 如何在不超时的情况下使用 mongoid/rails 查询 mongodb?

我有一个rake任务,它处理一组记录并将其保存在另一个集合:batch=[]Record.where(:type=>'a').eachdo|r|batch我一次处理大约10万条记录。不幸的是,在20分钟时,我收到QueryresponsereturnedCURSOR_NOT_FOUND错误。mongodbfaq说要使用skip和limit或关闭超时,使用它们会慢大约2-3倍。如何关闭与mongoid一起使用的超时? 最佳答案 MongoDBdocs说你可以传入一个超时bool值,它的超时是假的,它永远不会超时collection.f

ruby-on-rails - 如何在不超时的情况下使用 mongoid/rails 查询 mongodb?

我有一个rake任务,它处理一组记录并将其保存在另一个集合:batch=[]Record.where(:type=>'a').eachdo|r|batch我一次处理大约10万条记录。不幸的是,在20分钟时,我收到QueryresponsereturnedCURSOR_NOT_FOUND错误。mongodbfaq说要使用skip和limit或关闭超时,使用它们会慢大约2-3倍。如何关闭与mongoid一起使用的超时? 最佳答案 MongoDBdocs说你可以传入一个超时bool值,它的超时是假的,它永远不会超时collection.f

ruby-on-rails - mongoid 在两个哈希中拆分嵌套属性?

我有一个模型List,其中包含另一个模型Article的嵌套属性。让我烦恼的是我的Ruby请求参数在Article哈希中具有我的第一个嵌套属性,而在article_parameters中具有所有其他属性(第2、第3篇文章数据等)。我在这里遵循标准的mongoid教程。我在ListController的create方法中有@list.articles.build。我可以影响构建方法的内容吗?我尝试调用build(all_the_correct_hashes)但它似乎无法解决问题。所以,简而言之,我有2个问题。为什么articles只获取第一个嵌套属性,第二个和下一个去article_pa

ruby-on-rails - mongoid 在两个哈希中拆分嵌套属性?

我有一个模型List,其中包含另一个模型Article的嵌套属性。让我烦恼的是我的Ruby请求参数在Article哈希中具有我的第一个嵌套属性,而在article_parameters中具有所有其他属性(第2、第3篇文章数据等)。我在这里遵循标准的mongoid教程。我在ListController的create方法中有@list.articles.build。我可以影响构建方法的内容吗?我尝试调用build(all_the_correct_hashes)但它似乎无法解决问题。所以,简而言之,我有2个问题。为什么articles只获取第一个嵌套属性,第二个和下一个去article_pa

mongodb - 如何正确配置 rails 4 和 mongoid ?

我很难让mongo和rails4正常运行,目前我的gemfile看起来像source'https://rubygems.org'ruby'2.0.0'gem'rails','4.0.0'gem'sass-rails','~>4.0.0'gem'uglifier','>=1.3.0'gem'coffee-rails','~>4.0.0'gem'jquery-rails'gem'jbuilder','~>1.2'gem"zeus","~>0.13.3"gem"thin","~>1.6.0"gem"pry","~>0.9.12.2"gem"rspec-rails","~>2.14.0"gem

mongodb - 如何正确配置 rails 4 和 mongoid ?

我很难让mongo和rails4正常运行,目前我的gemfile看起来像source'https://rubygems.org'ruby'2.0.0'gem'rails','4.0.0'gem'sass-rails','~>4.0.0'gem'uglifier','>=1.3.0'gem'coffee-rails','~>4.0.0'gem'jquery-rails'gem'jbuilder','~>1.2'gem"zeus","~>0.13.3"gem"thin","~>1.6.0"gem"pry","~>0.9.12.2"gem"rspec-rails","~>2.14.0"gem

ruby-on-rails - Mongoid 默认范围覆盖默认值。为什么?

mongoid4.0.2我有Test类:classTestincludeMongoid::DocumentincludeMongoid::TimestampsincludeMongoid::Paranoiafield:successful,type:Boolean,default:falsedefault_scope->{where(successful:true)}end然后我做:t=Test.new;t.successful=>true那么问题来了:这种行为背后的原因是什么?P.S.我已经在after_initialize方法的帮助下修复了它重置successful的问题。

ruby-on-rails - Mongoid 默认范围覆盖默认值。为什么?

mongoid4.0.2我有Test类:classTestincludeMongoid::DocumentincludeMongoid::TimestampsincludeMongoid::Paranoiafield:successful,type:Boolean,default:falsedefault_scope->{where(successful:true)}end然后我做:t=Test.new;t.successful=>true那么问题来了:这种行为背后的原因是什么?P.S.我已经在after_initialize方法的帮助下修复了它重置successful的问题。

ruby - 使用 mongodb/mongoid 排序时,有没有办法将所有 nil 值放在最后?

除了问题中已经存在的内容之外,真的没什么可说的。使用mongoid:People.asc(:age)我首先得到nil值。有没有办法总是返回nillast,或者告诉mongodb将nil视为非常高?与thesameprobleminsqlhere的回答完全一样 最佳答案 如果您想要非零年龄的升序,则不是。如果这不重要,你可以看看People.desc(:age)会将nil值放在最后。或者,您可以尝试添加搜索参数以不返回nil值:People.not_in(age:[nil]).asc(:age)