标签: mongoid

在mongoid中使用嵌入式和引用的正确方法

我正在建立协会如下

person embeds one address

address references one country address references one province

country embeds many provinces

以上协会好吗?我太困惑如何构建它们.我不知道mongodb和mongoid用于建立联想的确切用途.

我的主要关注点是何时使用嵌入式和何时使用引用关联?

associations mongodb mongoid

1
推荐指数
1
解决办法
1764
查看次数

Rails包含条件模块

我试图仅在满足条件时才包括模块。

module PremiumServer
  def is_premium
    true
  end
end

class Server
  include Mongoid::Document
  include PremiumServer if self.premium
  field :premium, :type => Boolean, :default => false
end
Run Code Online (Sandbox Code Playgroud)

这是行不通的,我不知道为什么。有人可以告诉我如何根据满足上述条件的条件来包含模块吗?

谢谢!

编辑:

我在这里找到了解决问题的答案:Mongoid和载波

但是,我将问题授予最高答案,因为这可能是更有用的方法。

ruby module mongoid

1
推荐指数
1
解决办法
3994
查看次数

如何在Rails上使用Mongoid?

我一直在尝试在Ubuntu上使用Mongoid和Rails.我通过apt-get安装了mongoDB.但是当我尝试运行rails服务器时,我收到此错误:

/home/myusername/.rvm/gems/ruby-1.9.2-p180@mysite/gems/mongo-1.3.1/lib/mongo/connection.rb:518:in`connect':无法连接到主节点at localhost:27017(Mongo :: ConnectionFailure)

我刚刚使用Mongoid,任何帮助将不胜感激.非常感谢提前!

ruby-on-rails mongodb mongoid ubuntu-11.04

1
推荐指数
1
解决办法
3299
查看次数

Rails模型单一化不能正常工作

我有一个名为"GradebookSettings"的Mongoid模型.我已经进入变形并添加:

inflect.singular("GradebookSettings","GradebookSettings")

当我进入irb时,它正确地将"成绩簿设置"单独化为"成绩簿设置".但是,当我尝试访问相关模型时,它会不断尝试将其单一化为GradebookSetting.

我正在使用Mongoid.我很想用两个s来复数成绩簿设置,但我宁愿不这样做.

谢谢!

ruby ruby-on-rails mongodb mongoid

1
推荐指数
1
解决办法
414
查看次数

Rails标准日期选择器导致模型中的nil日期值

我确信这很简单,但我错过了一些东西.这一直以前都有效.我在Rails 3.1上使用Mongoid.

a = {"title"=>"bad2", "starts_at(1i)"=>"2011", "starts_at(2i)"=>"9", "starts_at(3i)"=>"12", "starts_at(4i)"=>"10", "starts_at(5i)"=>"49", "ends_at(1i)"=>"2011", "ends_at(2i)"=>"9", "ends_at(3i)"=>"12", "ends_at(4i)"=>"11", "ends_at(5i)"=>"49", "all_day"=>"0", "description"=>"foo2"} 
e = Event.new(a)
 => #<Event _id: 4e6d765af11aac06e8000004, _type: nil, created_at: nil, updated_at: nil, title: "bad2", starts_at: nil, ends_at: nil, all_day: false, description: "foo2", starts_at(1i): "2011", starts_at(2i): "9", starts_at(3i): "12", starts_at(4i): "10", starts_at(5i): "49", ends_at(1i): "2011", ends_at(2i): "9", ends_at(3i): "12", ends_at(4i): "11", ends_at(5i): "49"> 
ruby-1.9.2-p290 :020 > e.valid?
 => true 
ruby-1.9.2-p290 :021 …

forms ruby-on-rails mongoid ruby-on-rails-3

1
推荐指数
1
解决办法
275
查看次数

使用mongoid更改rails 3 app中的id/URL slug

目前在我的rails应用程序中,记录位于以下URL:

http://www.mysite.com/items/fecffe6aa299a6050274ed22

但相反,我希望他们会这样:

http://www.mysite.com/items/item-title-here

关于如何实现这一目标的任何想法?

ruby ruby-on-rails mongodb mongoid ruby-on-rails-3

1
推荐指数
1
解决办法
815
查看次数

Rails/Mongoid数据库迁移

我目前正在开发一个rails应用程序,我们在后端使用mongoid/mongoDB.我知道我不需要像迁移这样的ActiveRecord来迁移模式,但我需要在更改mongoid模型定义时迁移数据.有没有其他人在那里遇到同样的情况,如果是这样你怎么处理它?

ruby-on-rails mongodb rails-migrations mongoid ruby-on-rails-3

1
推荐指数
1
解决办法
5310
查看次数

在rails 4应用程序中,Mongoid查询速度太慢

我正在使用带有mongoid(4.0.0 alpha1)的rails 4.问题是,当我尝试使用控制器获取记录时

Model.where(:status => 'Active')
Run Code Online (Sandbox Code Playgroud)

这需要太长时间(大约10秒).当我尝试在控制台中查询记录时,问题也一样.Collection有近400多条记录.

但是在mongodb控制台中获取记录

db.collection.find({status: "Active"})
Run Code Online (Sandbox Code Playgroud)

很快

mongoid 4.0.0.alpha1有什么问题吗?有任何建议如何改善rails中的查询响应时间?

提前致谢

ruby-on-rails mongodb mongoid ruby-on-rails-4

1
推荐指数
1
解决办法
1087
查看次数

除非为nil,否则不要在数组上插入

我正在尝试查找和记录,记录是否为零,我不希望它在我的阵列上像这样:

@kid <<  Kid.find_only_kid(k) unless nil
Run Code Online (Sandbox Code Playgroud)

但是当我得到一个nil时,记录会插入到数组中.

这是我的模型上的find_only_kid方法的代码:

  def self.find_only_kid(kid)
    Kid.where(_id: kid.to_s, parent: false, teacher: false).first rescue nil
  end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mongoid

1
推荐指数
1
解决办法
3453
查看次数

更新mongoid中包含哈希的数组字段

XYZ收集的文件如下.

"_id" : ObjectId("55311e4487216d7063040000"),
"colours" : [
    {
         "value" : 1,
         "colour" : "red"
    },
    {
         "value" : 2,
         "colour" : "green"
    }
]
Run Code Online (Sandbox Code Playgroud)

我需要更新值为1的颜色名称.我应该写什么查询?

我使用的是rails 4.1.2,mongoid 4.0.0.

请帮忙.

ruby-on-rails mongodb mongoid ruby-on-rails-4

1
推荐指数
1
解决办法
430
查看次数