mongodb - sammenlægning

, aggregeringer operationer proces data og afkast beregnes resultater.aggregering operationer gruppe værdier fra flere dokumenter sammen og kan udføre en lang række aktiviteter på samlet data til at vende tilbage til et fælles resultat.i sql tæller (*) og med gruppe, som er en tilsvarende af mongodb sammenlægning., aggregate() metode, om sammenlægning i mongodb, du skal bruge, aggregate() metode., syntaks: grundlæggende syntaks, aggregate(), metode er som følger,> db. collection_name. aggregat (aggregate_operation), f.eks.: i den samling du har følgende data: (_id: objectid (7df78ad8902c) titel: "mongodb overblik, beskrivelse:" mongodb er ingen sql database, by_user: tutorials point, url: http: //////////////www.tutorialspoint. kom, mærker: ['mongodb "," database "," nosql "kan lide: 100} {_id: objectid (7df78ad8902d) titel:" nosql overblik, beskrivelse: "ingen sql - databasen er meget hurtigt, by_user: tutorials point, url: http://www.tutorialspoint.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 10 }, { _id: ObjectId(7df78ad8902e) title: 'Neo4j Overview', description: 'Neo4j is no sql database', by_user: 'Neo4j', url: 'http://www.neo4j.com', tags: ['neo4j', 'database', 'NoSQL'], likes: 750 }, ,Now from the above collection if you want to display a list that how many tutorials are written by each user then you will use ,aggregate(), method as shown below:,> db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}]) { "result" : [ { "_id" : "tutorials point", "num_tutorial" : 2 }, { "_id" : "Neo4j", "num_tutorial" : 1 } ], "ok" : 1 }> ,Sql equivalent query feller de ovenfor anvendelse, vil være, at vælge by_user, grev (*) fra mycol gruppe af by_user, i ovenstående eksempel har vi samlet dokumenter med et område, by_user, og på hvert af by_user fissionsprodukter tidligere værdi af summen er øget.There is a list available aggregation expressions., ,Expression,,Description,,Example, $sumSums up the defined value from all documents in the collection.db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}]) $avgCalculates the average of all given values from all documents in the collection.db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}]) $minGets the minimum of the corresponding values from all documents in the collection.db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}]) $maxGets the maximum of the corresponding values from all documents in the collection.db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}]) $pushinserts værdien til et mønster i det endelige dokument. db. mycol. samlede ([{$gruppe: {_id: "$by_user", url: http: //($skub. "$url"}}}]) $addtosetinserts værdien til et mønster i det endelige dokument, men er ikke skabe kopier. db. mycol. samlede ([{$gruppe: {_id: "$by_user", url: http: //($addtoset: "$url"}}}]) $firstgets første dokument fra kilden dokumenter i henhold til gruppen.det er typisk kun fornuftigt sammen med en tidligere anvendt "$form" - fase. db. mycol. samlede ([{$gruppe: {_id: "$by_user", first_url: {$første: "$url"}}}]) $lastgets sidste dokument fra kilden dokumenter i henhold til den gruppe.det er typisk kun fornuftigt sammen med en tidligere anvendt "$form" - fase. db. mycol. samlede ([{$gruppe: {_id: "$by_user", last_url: {$sidste: "$url"}}}]), rørledning begreb i unix - kommando skal rørledning, muligheden for at udføre en operation på en input - og anvende produktionen som input til det næste ordre og så videre.mongodb støtter også samme begreb i aggregering rammer.der er en række mulige trin, og hver af disse er taget en række dokumenter, som input og producerer en som følge af dokumenter (eller den endelige som følge json dokument ved udgangen af rørledningen).det kan derefter igen anvendes til den næste fase i en så. muligt faser i aggregering ramme er følgende:,,, $projekt:, anvendes til at udvælge nogle specifikke områder, fra en indsamling. $kamp: er dette en filtrering drift, og denne kan nedsætte mængden af dokumenter, der er som input til den næste fase. $gruppe: det er den faktiske sammenlægning af perioder, som er nævnt ovenfor, $form:, forskellige dokumenter.,, $skip: med dette, er det muligt at springe frem i den liste over dokumenter, for en given mængde dokumenter,.,, $grænse: dette begrænser mængden af dokumenter, der skal se på i det pågældende nummer fra den nuværende holdning, $slappe af:, anvendes til at afvikle dokument, der bruger arrays.når der anvendes en række data er lidt forud for joinded og denne operation vil være færdig med at have individuelle dokumenter igen.således med denne fase vil vi øge mængden af dokumenter for den næste etape,.,,



Previous:
Next Page: