Mongoid布尔值无效的地方

时间:2013-07-23 07:06:13

标签: ruby-on-rails mongodb mongoid

我正在使用'mongo', '1.6.2''mongoid', '2.4.11'。 我有ProPlayer模型,当我在控制台中运行时。

irb(main):006:0> ProPlayer.first
=> #<ProPlayer _id: 508a5549d3966f02e7000001, _type: nil, created_at: nil, updated_at: nil, first_name: "Adam", last_name: "Jones", batting_style: "R", image_thumbnail: "1.jpg", is_pro_player: true, team_id: BSON::ObjectId('508a550ad3966f02ce000012'), token_id: nil>

这里用is_pro_player记录为true,但是当我在查询中运行时,返回零记录,但实际上有71条记录。

irb(main):008:0> ProPlayer.where(:is_pro_player=>true).to_a.size
=> 0

此查询之前有效,但突然无法正常工作。谁能告诉我可能是什么问题?

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

ProPlayer.where(:is_pro_player.exists => true, is_pro_player: true).count

答案 1 :(得分:0)

我有同样的问题,我通过将类型从“布尔”更改为“Mongoid :: Boolean”来解决它,然后它将开始将db中的布尔值设置为“true”和“false”而不是“1”并且“0”和“where”条件将再次开始工作