collections - MongoDB - 如何从集合中查询嵌入文档

标签 collections mongodb documents

大师 - 我陷入了一种情况,无法弄清楚如何从以下集合“users”中查询,它有 2 个嵌入文档“signup”和“事件”:

{
    "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/

相关文章:

java - ImmutableList vs List-我应该将其转换为什么?

java - Java 中的泛型(和通配符)

使用 Collections.sort 的 Java 特定练习

python - 如何通过正则表达式查找数字范围

java - 循环遍历 MongoDB 中的文档

java - 执行最快的搜索 - 我应该使用哪个集合?

javascript - 语法错误: Unexpected token

mongodb - 使用 mgo 存储嵌套结构

security - 安全审核文件。 ISO 27001

mongodb - 蒙哥 : How do I insert another subdocument to an existing document