大师 - 我陷入了一种情况,无法弄清楚如何从以下集合“users”中查询,它有 2 个嵌入文档“signup” strong>”和“事件”:
{
"appid": 2,
"userid": 404915,
"signup": {
"dt": "2010-12-28",
"platform": 2
},
"activity": {
{
"dt": "2010-12-28",
"platform": 3,
"login_count": 8,
"game_completed": 13
},
{
"dt": "2010-12-30",
"platform": 3,
"login_count": 8,
"game_completed": 13
} ,
{
"dt": "2010-12-31",
"platform": 3,
"login_count": 8,
"game_completed": 13
}
}
},{"appid":2,"userid":404915...}
我需要查询:
unique logins of users who signed up between Date and Date+7 and logged in within Date
然后:
Unique logins of users who signed up between Date and Date+7, and logged in between Date+7 and Date+14
请指导我如何实现此任何示例/示例?基于此将非常有帮助:-)
非常感谢!
最佳答案
以下是获取第一个查询结果的方法:
var start = new Date(2010, 11, 25);
var end = new Date(2010, 12, 1);
db.users.distinct("userid", {"signup.dt" : {$gte: start, $lte: end},
"activity" : {"$elemMatch" : { dt: {$gte: start, $lte: end}}}});
第二个类似,将开始日期和结束日期添加到事件后的日期中 7 天。
关于collections - MongoDB - 如何从集合中查询嵌入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4278298/