最近在做一个项目,数据库使用的是mongo和redis,使用ruby on rails 进行编码提供给客户端API接口
1.从数据库中查找某个用户
User.find('5497793c73616e2a0c010000') -----> User.find('用户ID')
2.使用手机号查询的话
User.where(phone:123456789).first ---> User.where(phone:用户手机号).first
3.查询除本用户以外的所有用户
@users = User.not_me(@user).all
mode 中 scope :not_me, -> (user){ where(:user_id.ne => user.user_id)} user为用户标识字段,即主键
4.查询和自己性别不同的用户
@users = User.where(:gender.ne => @user.gender).all
5.查询和星座运势匹配的用户
map = {"白羊座"=>["射手座","狮子座","白羊座"],
"金牛座"=>["处女座","摩羯座","金牛座"],
"双子座"=>["水瓶座","天秤座","双子座"],
"巨蟹座"=>["双鱼座","天蝎座","巨蟹座"],
"狮子座"=>["白羊座","射手座","水瓶座"],
"处女座"=>["摩羯座","处女座","金牛座"],
"天秤座"=>["双子座","水瓶座","天秤座"],
"天蝎座"=>["巨蟹座","双鱼座","天蝎座"],
"射手座"=>["狮子座","射手座","白羊座"],
"摩羯座"=>["金牛座","处女座","摩羯座"],
"水瓶座"=>["天秤座","双子座","水瓶座"],
"双鱼座"=>["天蝎座","巨蟹座","双鱼座"]}
@users = User.where(:constellation.in => map[@user.constellation]).all
6.查询不属于某个条件的所有用户,取8个
@users = User.where(:user_id.nin => ['1234','4321']).limit(8)
7.对查询按某种要求排序
@users = User.desc(:last_sign_in_at)