Mongoid random document

前端 未结 9 1408
迷失自我
迷失自我 2021-02-06 00:49

Lets say I have a Collection of users. Is there a way of using mongoid to find n random users in the collection where it does not return the same user twice? For now lets say

9条回答
  •  醉酒成梦
    2021-02-06 01:07

    If you just want one document, and don't want to define a new criteria method, you could just do this:

    random_model = Model.skip(rand(Model.count)).first
    

    If you want to find a random model based on some criteria:

    criteria = Model.scoped_whatever.where(conditions) # query example
    random_model = criteria.skip(rand(criteria.count)).first
    

提交回复
热议问题