Mogę odwoływać się do wartości poszczególnych wartości atrybutów w potoku agregacji MongoDB za pomocą operatora "$". Ale jak mam uzyskać dostęp do (odniesienia) całego dokumentu?Odwoływanie się do całego dokumentu w Pipeline agregacji MongoDB
UPDATE: Przykład warunkiem wyjaśnić scenariusz.
Oto przykład tego, co próbuję zrobić. Mam zbiór tweetów. I każdy tweet ma element "klastrów", co jest wskazówką do jakiego klastra należy dany tweet.
{
"_id" : "5803519429097792069",
"text" : "The following vehicles/owners have been prosecuted by issuing notice on the basis of photographs on dated... http://t.co/iic1Nn85W5",
"oldestts" : "2013-02-28 16:11:32.0",
"firstTweetTime" : "4 hours ",
"id" : "307161122191065089",
"isLoc" : true,
"powertweet" : true,
"city" : "new+delhi",
"latestts" : "2013-02-28 16:35:05.0",
"no" : 0,
"ts" : 1362081807.9693,
"clusters" : [
{
"participationCoeff" : 1,
"clusterID" : "5803519429097792069"
}
],
"username" : "dtptraffic",
"verbSet" : [
"date",
"follow",
"prosecute",
"have",
"be"
],
"timestamp" : "4 hours ",
"entitySet" : [ ],
"subCats" : {
"Generic" : [ ]
},
"lang" : "en",
"fns" : 18.35967,
"url" : "url|109|131|http://fb.me/2CeaI7Vtr",
"cat" : [
"Generic"
],
"order" : 7
}
Ponieważ istnieją pewne kilkaset tysięcy tweetów w mojej kolekcji, chcę grupy wszystkie tweets przez „clusters.clusterID”. Zasadniczo chciałbym napisać zapytanie jak następuje:
db.tweets.aggregate (
{ $group : { _id : '$clusters.clusterID', 'members' : {$addToSet : <????> } } }
)
Chcę uzyskać dostęp do dokumentu obecnie przetwarzanie i odwoływać gdzie mam umieścić w powyższym zapytaniu. Czy ktoś wie, jak to zrobić?
masz przykład tego, co próbujesz zrobić? – RickyA
w pigułce - nie, nie ma sposobu, aby to zrobić (nie byłoby, gdybyś znał wszystkie kluczowe nazwy, ale to raczej nie będzie pomocne). –
można to zrobić w ramach ag, jeśli chcesz udzielić rozliczenia dla ustalonego zestawu pól oryginalnego dokumentu. –