如何在IDs中检索Mongoid数组?

arr=["id1","id2"]
User.where(:id=>arr)

如果要检索其他属性,则可以轻松完成此操作
User.where(:nickname.in=>["kk","ll"])

但是我想知道如何在mongoid中执行此操作->这应该是一个非常简单且常见的操作

最佳答案

请记住,该ID存储为:_id而不是:id。有一个id辅助方法,但是在执行查询时,应该使用:_id:

User.where(:_id.in => arr)

通常,我发现获取ID列表来执行复杂的查询很有用,所以我做了类似的事情:
user_ids = User.only(:_id).where(:foo => :bar).distinct(:_id)
Post.where(:user_id.in => user_ids)

关于ruby - 在Mongoid中检索ID数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4386700/

10-16 14:27
查看更多