Comando /query
Nesta página
O comando /query
ajuda a gerar queries a partir de uma linguagem natural em um cluster MongoDB conectado. A extensão MongoDB para o Github Copil o fornece informações de esquema subjacentes das collections relevantes ao GitHub Coplot para gerar uma resposta. Se você não especificar uma coleção em seu prompt, o chat solicitará que você selecione uma coleção relevante.
Quando o LLM gera uma query, você pode abrir a query em um arquivo de playground ou executar a query diretamente em sua collection.
Exemplos
Gerar uma query
Considere a coleção users
no banco de dados de amostra do Mflix. Cada documento na collection tem a seguinte estrutura:
{ _id: { "$oid": "59b99db4cfa9a34dcd7885b6" }, name: "Kayden Washington", email: "KW@email.com", password: "11222021" }
Depois de se conectar à implementação que contém a coleção users
, você pode solicitar ao bate-papo do Github Copiot para gerar uma consulta que encontre o documento na coleção users
que tem o valor name
de Kayden Washington
.
@MongoDB /query In the sample_mflix database, find a document in the users collection with the name of Kayden Washington.
O bate-papo do GitHub Copilt usa a extensão MongoDB para o Github Copilt para gerar a seguinte query usando o conhecimento do esquema do seu banco de dados de dados:
use(`sample_mflix`); db.getCollection('users').findOne({ name: 'Kayden Washington' });
Depois que a extensão MongoDB para o Github Copilt gerar a query, você poderá optar por executar a query diretamente ou abrir a query em um playground.
Criar um pipeline de agregação
Você também pode usar a Extensão MongoDB para Github Copile para construir pipelines de agregação . Considere a coleção users
no banco de dados de amostra do Mflix. Cada documento na collection tem a seguinte estrutura:
{ _id: { "$oid": "59b99db4cfa9a34dcd7885b6" }, name: "Kayden Washington", email: "KW@email.com", password: "11222021" }
Depois de se conectar ao sistema que contém a coleção users
, você pode solicitar ao bate-papo do Github Copilt para gerar um pipeline de agregação .
@MongoDB /query Generate an aggregation pipeline on the users collection that first sorts documents alphabetically by name and then removes the password field from each document.
A extensão MongoDB para o Github Copint gera o seguinte pipeline de agregação :
use('sample_mflix'); db.getCollection('users').aggregate([ { $sort: { name: 1 } }, { $project: { password: 0 } } ]);
Depois que a Extensão MongoDB para o Github Copilt gerar a query, você poderá optar por executar o pipeline diretamente ou abrir o pipeline em um playground.
Você também pode construir iterativamente seu pipeline de agregação :
@MongoDB /query Add a stage to my pipeline that adds a username field to each document containing the user's email without the email domain.
A extensão MongoDB para o Github Copile retorna o seguinte pipeline de agregação :
use('sample_mflix'); db.getCollection('users').aggregate([ { $sort: { name: 1 } }, { $project: { password: 0 } }, { $addFields: { username: { $arrayElemAt: [{ $split: ["$email", "@"] }, 0] } } } ]);