我正在使用'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
此查询之前有效,但突然无法正常工作。谁能告诉我可能是什么问题?
答案 0 :(得分:0)
尝试以下方法:
ProPlayer.where(:is_pro_player.exists => true, is_pro_player: true).count
答案 1 :(得分:0)
我有同样的问题,我通过将类型从“布尔”更改为“Mongoid :: Boolean”来解决它,然后它将开始将db中的布尔值设置为“true”和“false”而不是“1”并且“0”和“where”条件将再次开始工作