MongoDB - Как запросить встроенные документы из коллекции
Гуру - я застрял в ситуации, когда не могу понять, как я могу запросить информацию из следующей коллекции "пользователи", в нее входят 2 встроенных документа: "регистрация" и "активность":
{
"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...}
Мне нужно запросить:
уникальные логины пользователей, которые зарегистрировались между датой и датой +7 и вошли в систему в течение даты
Затем:
Уникальные имена пользователей, которые зарегистрировались между датой и датой +7 и вошли между датой +7 и датой +14
ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, назовите мне, как я могу добиться этого любого примера / образца? на основании этого будет действительно полезно:-)
Большое спасибо!
1 ответ
Решение
Вот как вы получите результат для вашего первого запроса:
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 дней к начальной и конечной дате к датам после активности.