/query 명령은 연결된 MongoDB cluster 에 대해 언어 에서 쿼리를 생성하는 데 도움이 됩니다. Github Copilot용 MongoDB Extension은 관련 컬렉션의 기본 MongoDB Github Github 스키마 정보를 Github Copilot에 제공하여 응답을 생성합니다. 프롬프트에 컬렉션 을 지정하지 않으면 관련 컬렉션 을 선택하라는 채팅 메시지가 표시됩니다.
LLM이 쿼리 를 생성하면 플레이그라운드 파일 에서 쿼리 를 열거나 컬렉션 에서 직접 쿼리 를 실행 수 있습니다.
샘플 문서
/query 명령을 사용하여 컬렉션 의 샘플 필드 값을 포함하도록 Github Copilot용 MongoDB 확장을 구성할 수 있습니다. MongoDB /query 명령을 사용하여 샘플 문서를 포함하면 AI 모델은 실제 데이터 예시를 수신하여 보다 정확한 쿼리를 생성하는 데 도움이 됩니다.
샘플 문서는 기본값 으로 비활성화되어 있습니다. 샘플 필드 값 포함을 활성화 하려면 다음 단계를 따르세요.
단계
활성화하면 샘플 문서가 다음 동작을 통해 모델에 자동으로 전달됩니다.
컨텍스트를 제공하기 위해 최대 3 개의 샘플 문서가 포함되어 있습니다.
3 샘플 문서를 포함하는 것이 AI 모델의 최대 컨텍스트 크기를 초과하는 경우, Github Copilot용 MongoDB 확장에는 1 문서 만 포함됩니다.
MongoDB 샘플 문서의 배열 필드를 처음 3 개 항목으로 제한합니다.
MongoDB 데이터 구조 정보를 보존하면서 컨텍스트 크기를 줄이기 위해 string 필드를 처음 20 자로 잘라냅니다.
예시
쿼리 생성
Mflix 샘플 데이터베이스 의 users 컬렉션 을 가정해 보겠습니다. 컬렉션 의 각 문서 는 다음과 같은 구조를 갖습니다.
{ _id: { "$oid": "59b99db4cfa9a34dcd7885b6" }, name: "Kayden Washington", email: "KW@email.com", password: "11222021"}users 컬렉션 이 포함된 배포서버 에 연결하면 Github Copilot 채팅을 통해 users 컬렉션 에서 name 값이 Kayden Washington인 문서 를 찾는 쿼리 를 생성할 수 있습니다.
@MongoDB /query In the sample_mflix database, find a document in theusers collection with the name of Kayden Washington.Github Github Copilot 채팅은 MongoDB Github Github Copilot용 MongoDB 확장을 사용하여 데이터베이스 스키마 에 대한 지식을 사용하여 다음 쿼리 를 생성합니다.
use(`sample_mflix`);db.getCollection('users').findOne({ name: 'Kayden Washington' });Github Copilot용 MongoDB Extension이 쿼리 를 생성하면 쿼리 를 직접 실행 하거나 플레이그라운드에서 열도록 선택할 수 쿼리 .
집계 파이프라인 구축
Github Copilot용 MongoDB 확장을 사용하여 집계 파이프라인을 빌드 할 수도 있습니다. Mflix users 샘플 데이터베이스의 컬렉션 을 가정해 보겠습니다. 컬렉션 의 각 문서 는 다음과 같은 구조를 갖습니다.
{ _id: { "$oid": "59b99db4cfa9a34dcd7885b6" }, name: "Kayden Washington", email: "KW@email.com", password: "11222021"}users 컬렉션 이 포함된 배포서버 서버에 연결되면 Github Copilot 채팅에 집계 파이프라인 을 생성하도록 요청할 수 있습니다.
@MongoDB /query Generate an aggregation pipeline on the userscollection that first sorts documents alphabetically by name and thenremoves the password field from each document.Github Copilot용 MongoDB 확장은 다음과 같은 집계 파이프라인 을 생성합니다.
use('sample_mflix');db.getCollection('users').aggregate([ { $sort: { name: 1 } }, { $project: { password: 0 } }]);Github Copilot용 MongoDB 확장이 쿼리 를 생성하면 파이프라인 을 직접 실행 하거나 플레이그라운드에서 파이프라인 을 열도록 선택할 수 있습니다.
집계 파이프라인 을 반복적으로 빌드 할 수도 있습니다.
@MongoDB /query Add a stage to my pipeline that adds a username fieldto each document containing the user's email without theemail domain.Github Copilot용 MongoDB 확장은 다음 집계 파이프라인 을 반환합니다.
use('sample_mflix');db.getCollection('users').aggregate([ { $sort: { name: 1 } }, { $project: { password: 0 } }, { $addFields: { username: { $arrayElemAt: [{ $split: ["$email", "@"] }, 0] } } }]);