我正在尝试通过rails检查mongodb中一条记录的两个字段是否具有相同的值。我想检查Actual_user_id和user_id中的值是否相同。
JobPosting.where(:actual_user_id => :user_id, created_at: @yesterday.midnight..@yesterday.end_of_day).count
答案 0 :(得分:0)
是否要返回所有具有重复的actual_user_id和user_id的值?如果是这样的话:
PingCallable
如果要查找有多少重复项,请尝试在末尾添加大小:
JobPosting.select(:actual_user_id,:user_id).group(:actual_user_id,:user_id).having("count(*) > 1")
但是,如果您知道要搜索的user_id和actual_user_id,并已将它们分配给变量:
JobPosting.select(:actual_user_id,:user_id).group(:actual_user_id,:user_id).having("count(*) > 1").size
第一个将返回重复的组,第二个将返回重复的值及其出现的频率,最后一个将返回所有实际值与给定值匹配的user_id和user_id的记录。
来自:Find rows with multiple duplicate fields with Active Record, Rails & Postgres
编辑: 要在查询中包含created_at并获取重复项的数量和值,我认为您正在查看:
JobPosting.where(actual_user_id: actual_user_id, user_id: user_id)