Ruby on rails 使用id作为条件时vs查找的Mongoid
在我的查询中将文档id用作唯一条件时,以下两者之间的区别是什么:Ruby on rails 使用id作为条件时vs查找的Mongoid,ruby-on-rails,mongodb,mongoid,Ruby On Rails,Mongodb,Mongoid,在我的查询中将文档id用作唯一条件时,以下两者之间的区别是什么: Board.only(:_id).find(params[:board_id]) 及 我注意到的唯一一点是,当使用将结果括在方括号中的位置时,将结果打印为json将返回一个文档 其中返回符合条件的文档数组。要添加到Kyle的答案中: 如果没有找到匹配的记录:find抛出异常,where返回空的可枚举项。前面的答案是正确的,我只需添加它来查找一条记录而不引发错误,与find等价的是where.first。就你而言 Board.wh
Board.only(:_id).find(params[:board_id])
及
我注意到的唯一一点是,当使用将结果括在方括号中的位置时,将结果打印为json将返回一个文档
其中
返回符合条件的文档数组。要添加到Kyle的答案中:
如果没有找到匹配的记录:
find
抛出异常,where
返回空的可枚举项。前面的答案是正确的,我只需添加它来查找一条记录而不引发错误,与find
等价的是where.first
。就你而言
Board.where(_id: params[:board_id]).first.only(:_id)
此行为取决于Mongoid的raise\u not\u found\u错误设置(默认为true)。看见
Board.where(_id: params[:board_id]).first.only(:_id)