私はMongo dbの新機能で、T-SQLの背景から来ています.Mongoでの結合の仕組みを理解するのは少し難しいです。Mongo DB Join collection
私は
私のユーザーのコレクションは次のようになります..「コレクション.. ERR。ユーザー表」と「ユーザー監査コレクション」私は非常に単純なケースを持っています。
{
"_id": LUUID("d991e92a-766c-054e-9ad8-1c902acc6efc"),
"System": {
"VisitCount": 1
},
"UserData": {
"Uid": "46831",
"UserName": "abc.",
"FirstName": "abv",
"LastName": "test",
"EmailId": "[email protected]",
"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の限界であることに気付きました。ロボ・モンゴは50レコードしか返していませんでした。私はMongoboosterとSlamdataからレコードを得ることができました.. –