Tutoriais de agregação
Visão geral
Os tutoriais de aggregation fornecem explicações detalhadas de tarefas comuns de aggregation em um formato passo a passo. Os tutoriais são adaptados de exemplos no livro Practical MongoDB Aggregations por paul feito.
Cada tutorial inclui as seguintes seções:
Introdução, que descreve a finalidade e os casos de uso comuns do tipo de agregação. Essa seção também descreve o exemplo e o resultado desejado que o tutorial demonstra.
Antes de começar, que descreve os banco de dados, as coleções e os dados de amostra necessários que você deve ter antes de criar o pipeline de agregação e realizar a agregação.
Tutorial, que descreve como criar e executar o pipeline de agregação. Esta seção descreve cada estágio do tutorial de agregação completo e, em seguida, explica como executar e interpretar a saída da agregação.
No final de cada tutorial de agregação, você pode encontrar um link para um arquivo de código Python totalmente executável que você pode executar em seu ambiente.
Aplicativo de modelo de agregação
Antes de começar a seguir um tutorial de agregação, você deve configurar um novo aplicativo Python. Você pode usar esse aplicativo para se conectar a um sistema do MongoDB, inserir dados de amostra no MongoDB e executar o aggregation pipeline em cada tutorial.
Dica
Para saber como instalar o driver e se conectar ao MongoDB, consulte Introdução ao PyMongo
Após instalar o driver, crie um arquivo chamado agg_tutorial.py
. Cole o seguinte código neste arquivo para criar um modelo de aplicativo para os tutoriais de agregação:
from pymongo import MongoClient # Replace the placeholder with your connection string. uri = "<connection string>" client = MongoClient(uri) try: agg_db = client["agg_tutorials_db"] # Get a reference to relevant collections. # ... some_coll = # ... another_coll = # Delete any existing documents in collections. # ... some_coll.delete_many({}) # Insert sample data into the collection or collections. # ... some_data = [...] # ... some_coll.insert_many(some_data) # Create an empty pipeline array. pipeline = [] # Add code to create pipeline stages. # ... pipeline.append({...}) # Run the aggregation. # ... aggregation_result = ... # Print the aggregation results. for document in aggregation_result: print(document) finally: client.close()
Importante
No código anterior, leia os comentários de código para localizar as seções do código que você deve modificar para o tutorial que você está seguindo.
Se você tentar executar o código sem fazer alterações, encontrará um erro de conexão.
Para cada tutorial, você deve substituir o espaço reservado da connection string pela connection string do seu sistema. Para saber como localizar a connection string do seu sistema, consulte Criar uma connection string.
Por exemplo, se sua string de conexão for "mongodb+srv://mongodb-example:27017"
, sua atribuição de string de conexão será semelhante à seguinte:
uri = "mongodb+srv://mongodb-example:27017";
Para executar o arquivo completo após modificar o modelo de um tutorial, execute o seguinte comando em seu shell:
python3 agg_tutorial.py