我在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 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
如何使用mongoid?
答案 0 :(得分:1)
试试这个!
SQL:
SELECT *
FROM users
WHERE status = "A"
AND age = 50
蒙戈:
db.users.find(
{ status: "A",
age: 50 }
)
在您的情况下,您可以执行以下操作:
User.any_of("$and" => [{action: "logout", action: "poked"}])
您可以看到与Mongo here
的SQL的每个比较