Ruby on rails 检索具有不同列值的最近数据-mongoid+;栏杆4
我在mongodb上有一个Ruby on rails 检索具有不同列值的最近数据-mongoid+;栏杆4,ruby-on-rails,mongodb,ruby-on-rails-4,mongoid,Ruby On Rails,Mongodb,Ruby On Rails 4,Mongoid,我在mongodb上有一个kevent集合,看起来像: _id, user_id action created_at 43gy5235rwedwe 11 logout 2014-05-30 04:01:32 +0000 563gy5wwwedwex 11 running 2014-05-30 04:01:28 +0000 77gy5235rwedwe
kevent
集合,看起来像:
_id, user_id action created_at
43gy5235rwedwe 11 logout 2014-05-30 04:01:32 +0000
563gy5wwwedwex 11 running 2014-05-30 04:01:28 +0000
77gy5235rwedwe 26 logout 2014-05-30 04:01:22 +0000
3gy5235rwed65e 11 create 2014-05-30 04:01:20 +0000
4dgy5er35rwcwe 11 upgrade 2014-05-30 04:01:18 +0000
df5gy5s35rwwwd 43 poked 2014-05-30 04:00:32 +0000
fggy5235r322fs 29 login 2014-05-30 03:01:31 +0000
bhgy5235rwedfs 43 login 2014-05-30 03:01:30 +0000
ftweerw35rwedw 11 jumped 2014-05-30 04:01:29 +0000
we2y5s35rwedqq 12 created 2014-05-30 02:01:28 +0000
36gy5sa5rwesad 26 login 2014-05-30 01:01:27 +0000
36q4sa5rwesadw 11 login 2014-05-30 00:01:26 +0000
我使用mongoid(在rails 4中)检索不同用户最近的三个动作。所以结果应该是这样的:
_id, user_id action created_at
43gy5235rwedwe 11 logout 2014-05-30 04:01:32 +0000
77gy5235rwedwe 26 logout 2014-05-30 04:01:22 +0000
df5gy5s35rwwwd 43 poked 2014-05-30 04:00:32 +0000
User.any_of("$and" => [{action: "logout", action: "poked"}])
如何使用mongoid获得该功能?试试这个
Sql:
蒙戈:
db.users.find(
{ status: "A",
age: 50 }
)
在您的情况下,您可以这样做:
_id, user_id action created_at
43gy5235rwedwe 11 logout 2014-05-30 04:01:32 +0000
77gy5235rwedwe 26 logout 2014-05-30 04:01:22 +0000
df5gy5s35rwwwd 43 poked 2014-05-30 04:00:32 +0000
User.any_of("$and" => [{action: "logout", action: "poked"}])
您可以看到SQL与Mongo的每一个比较