我有一個名爲Users的MongoDB集合。 我不知道對象類型的提前。 這個集合至少有3種不同類型的對象結構。例如:MongoDb在集合中選擇不同的對象類型
類型1:
{
"_id" : "9e1736d4-f3a1-47ed-bb51-3318129664f0",
"userid" : 6711,
"registerDate" : "2014-10-28T14:42:06",
"lastLoginDate" : "2014-10-28T14:42:06",
}
類型2:
{
"_id" : "9e1736d4-f3a1-47ed-bb51-3318129664f1",
"userid" : 6712,
"email" : "[email protected]",
"username" : "john doe",
}
類型3:
{
"_id" : "9e1736d4-f3a1-47ed-bb51-3318129664f2",
"userid" : 63713,
"city" : "orange",
"state" : "new york",
"country" : "US",
}
我怎樣才能獲得不同的類型(或從每一個頂面第一對象類型)從我的集合? 所以如果我有100萬用戶和3種不同的結構,我想得到3個結果。
不幸的是我沒有對數據庫的修改權限,只讀。我只是不能通過查詢來做到這一點? – 2014-10-28 15:22:01
對於百萬用戶來說,沒有一種有效的方法來實現它。如果您可以創建新的集合,則可以通過對文檔字段的已排序名稱進行拼接,然後按該字段進行分組,從而在新集合中通過MAP創建替代「類型」字段。你仍然需要一些'type'字段,但你可以創建一個新的集合。 但效率很低。 – 2014-10-28 15:34:31