草庐IT

mongodb - 如何对 MongoDB 文档中的散列执行此查询(使用 Mongoid)

我正在使用Mongoid。我有一个如下所示的文档:Pet:foo:{bar:1,foobar:2}another_attr:1在这种情况下,最好使用Mongoid,我将如何查询bar值大于0且another_attr等于1的所有宠物? 最佳答案 在mongoshell中:db.pets.find({"foo.bar":{$gt:0},another_attr:1});在mongoid中:Pet.where(:'foo.bar'.gt=>0,:another_attr=>1) 关于mong

ruby-on-rails - 是否可以使用 Rails 3 更改 MongoDB 中的默认时区?

我有这样的麻烦:当我创建对象并设置一些日期时间时,它正在UTCTimeZone中保存数据库。这是示例://showingfulllistofobjectpropertiesGrant_id:5108ee29e6b564611400000,start_date:2013-01-3009:56:27UTC//thenshowinga.start_dateWed,30Jan201313:56:27+0400我试图禁止数据库使用UTC。这是mongoid.yml:development:options:raise_not_found_error:falsesessions:default:us

mongodb - MongoDB 的 Map/Reduce 排序有用吗?

如果使用下面的Analytic.collection.map_reduce(map,reduce,:query=>{:page=>subclass_name},:sort=>[[:pageviews,Mongo::DESCENDING]]).find.to_a它不会按pageviews排序。或者,如果它是哈希数组:Analytic.collection.map_reduce(map,reduce,:query=>{:page=>subclass_name},:sort=>[{:pageviews=>Mongo::DESCENDING}]).find.to_a也不行。我认为它必须是一个数

mongodb - 为什么 Mongoid 中没有 "transaction"方法?

有些时候我们想保存一些彼此没有直接关系的对象。其中一个或多个可能会发生故障。如果没有“交易”策略,我们怎么能全存或全存呢? 最佳答案 因为Mongodb不支持事务。MongoDB为单个文档上的操作提供原子性。查看原因here和here. 关于mongodb-为什么Mongoid中没有"transaction"方法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7977434/

ruby-on-rails - 未定义的方法 `update_attributes' ?

为什么会出现此错误?我没主意了。#的未定义方法“update_attributes”代码:exists=Vote.where(comment_id:@comment.id).exists?ifexistsupdate_vote=Vote.where(comment_id:@comment.id)update_vote.update_attributes(value:5)redirect_to:backelse 最佳答案 你想特别获取一条记录,所以告诉它:update_vote=Vote.where(comment_id:@comme

ruby-on-rails - 在 mongoid 中与组求和

我是mongoid和mongodb的新手。我有一个模型名称like_count(account_id,create_at,updated_at,like_cnt)。我需要每个帐户的总和,例如按排序顺序计数。我试过类似的东西LikeCount.group_by(&:account_id).sum(:like_cnt)但似乎是错误的。 最佳答案 你最好使用aggregationframework助力车语法中来自MongoDB的方法。.group_by等其他方法是遗留的JavaScript引擎包装器,它们在评估结果时要慢得多:LikeCo

ruby-on-rails - 无法使用 rails generate 生成 mongoid 配置文件

shaunstanislaus@Master~/workspace/mongodb_rails_project/sodibee(master)$railsgmongoid:configCouldnotfindgenerator'mongoid:config'.Maybeyoumeant'migration'or'controller'or'generator'Run`railsgenerate--help`formoreoptions 最佳答案 好的,我解决了。首先,我的mongoid已经过时了,使用的是1.0.6,目前最新的版本是

ruby-on-rails - Mongoid 嵌入式文档中的时间戳

我有一个嵌入集合B的集合A。集合A和集合B包括Mongoid时间戳(created_at和updated_at)。现在,当我使用Railsadmin创建集合B(嵌入式对象)的新条目时,保存在数据库中的时间戳为零。但是,如果我从Rails控制台或普通API创建条目,则保存在数据库中的时间戳不是零。如有任何帮助,我们将不胜感激。编辑:classBincludeMongoid::DocumentincludeMongoid::Timestamps::CreatedincludeMongoid::Timestamps::Updatedfield:user_id,type:Stringfield

ruby-on-rails-3 - Mongo 查找器和标准

我在带有Mongoid映射器的Rails应用程序中使用MongoDB。但是我不明白查询的finders和criteria。例如在Finders部分的mongoiddocumentaion中是查询Model.all,但是如果我使用它(例如User.all),控制台返回标准而不是结果:=>#但如果我使用finderModel.first或Model.last,控制台会返回特定结果。(User.first返回特定用户及其字段,如:email、:username等)。为什么Model.all在文档中写成finders?如果我需要获取所有Users或例如Posts,我需要做什么?

ruby-on-rails - 是否有 MongoDB 热门话题 Gem?

我在MongoDB中有一组文档,其中包含关于推文大小的“描述”值。我需要从中生成一个热门话题列表。显然,这是一个已解决的问题,但如果不自己编写代码,我无法找到明确的答案/gem来完成工作。我在我的应用中使用了ruby​​和mongoid。是否有任何ruby​​gem可以帮助或处理这个问题?谢谢。 最佳答案 我知道没有这样的gem,但这里有一个您可以自己编写的算法:摘录n-grams从文本。由于文本很小(你说的推文大小)提取所有n-gram,这里没有限制。“我吃冰淇淋”=>{(I),(eat),(icecream),(Ieat),(e