mongoid filter没有返回与mongo shell相同的结果

时间:2014-09-03 19:25:17

标签: mongodb shell mongoid

当我尝试使用Mongoid查询我的数据库时,它没有返回与我在mongo shell中执行它时相同的结果。使用mongo shell,当我做的时候

db.scenarios.find({"test_run_id": 169926}).count()

结果是214。当我尝试以下mongoid声明时:

Scenario.where({'test_run_id' => 169926}).to_a.count

结果我得到0。

请帮忙。

1 个答案:

答案 0 :(得分:0)

问题是我的model.rb文件指定test_run_id为类型String,它应该是Integer。因此,当执行过滤器时," 169926" != 169926,因此找不到匹配项。这里的教训是确保数据类型在model.rb和实际存储的内容之间匹配。