0
我对Mongo db很新,来自T-SQL背景,我发现很难理解在Mongo中如何工作。Mongo DB加入收藏
我有一个非常简单的情况下,我有一个“用户表.. ERR ..类别”和“用户审核集合” ..
我的用户采集看起来是这样的。
{
"_id": LUUID("d991e92a-766c-054e-9ad8-1c902acc6efc"),
"System": {
"VisitCount": 1
},
"UserData": {
"Uid": "46831",
"UserName": "abc.",
"FirstName": "abv",
"LastName": "test",
"EmailId": "[email protected].com",
"Region": "Georgia",
"Postal": "10000",
"Country": "United States",
"Phone": "800-000-1734",
}
}
和用户审计表:
{
"_id": LUUID("9561a583-0afe-e844-a090-43ffdab46ed2"),
"UserId": LUUID("914ed252-3fc7-d84c-9731-f382e7cf400b"),
"StartDateTime": ISODate("2016-05-12T04:07:37.299Z"),
"EndDateTime": ISODate("2016-05-12T04:07:42.715Z"),
"SaveDateTime": ISODate("2016-05-12T04:28:23.186Z"),
"Browser": {
"BrowserVersion": "50.0",
"BrowserMajorName": "Chrome",
"BrowserMinorName": "50.0"
},
"Pages": [
{
"DateTime": ISODate("2016-05-12T04:07:37.365Z"),
"Duration": 5416,
"Item": {
"_id": LUUID("f293157a-f22d-fe49-a7b0-f66f412408fe"),
"Language": "en",
"Version": 1
}"Url": {
"Path": "/"
},
"VisitPageIndex": 1
},
{
"DateTime": ISODate("2016-05-12T04:07:42.781Z"),
"Duration": 0,
"Item": {
"Version": 0
},
"SitecoreDevice": {
"_id": LUUID("df7f5dfe-c089-994d-9aa3-b5fbd009c9f3"),
"Name": "Default"
},
"MvTest": {
"ValueAtExposure": 0
},
"Url": {
"Path": "/Sample Page1"
},
"VisitPageIndex": 2
}
]
}
我需要平面视图,其中每一行将保留所有用户的用户信息和用户访问过的网页。
审计信息可以按用户分组,也可以按用户重复。我的主要想法是将用户详细信息与页面访问历史相结合。
我在寻找的东西像一个左外连接相当于
像
Select * from usertable, useraudittable
on usertable.id = userAuditTable.UserId
group by userID.
感谢安德烈..我是不约而同地检查相同的文档,我跑了完全相同的查询..我找回结果..但他们都没有超过50的是,限制? –
抱歉花了那么久。我已经在本地尝试了您的示例数据,并且插入了67条审计记录,并使用上面发布的聚合查询获得了所有这些记录。我没有意识到任何限制,特别是像50这样的低数字。但是当你将这些大文件加入到一起时,你可能会小心,你会得到一些内存和性能问题。您始终可以限制聚合管道返回的字段。 – andre
谢谢。我意识到这是GUI的限制.. roboMongo只返回了50条记录。我能够从Mongobooster和Slamdata获得记录.. –