Puede exportar y traducir documentos de consulta y canales de agregación desde un Convierte el área de juegos en un lenguaje de programación mediante la extensión MongoDB para Github Copilot. Puedes exportar consultas y pipelines a los siguientes lenguajes:
C#
Go
Java
Node.js
PHP
Python
Ruby
Rust
Requisitos previos
Debe habilitar la extensión MongoDB para Github Copilot para usar el Export to Language característica.
Debes abrir un área de juegos que contenga un documento de consulta o una canalización que desees exportar.
Los tutoriales de esta página utilizan la plantilla de patio de juegos predeterminada.
Nota
También puede abrir un nuevo entorno de pruebas para probar y exportar queries con la extensión de MongoDB para GitHub Copilot. Para obtener más información, consultar Exportar y probar queries con Copilot.
Para abrir un nuevo patio de juegos que contenga la plantilla predeterminada:
Busca y ejecuta el comando "Create MongoDB Playground".
Utiliza la barra de búsqueda Command Palette para buscar comandos. Todos los comandos relacionados con VS Code Extension van precedidos de MongoDB:.
Cuando ejecutas el comando MongoDB: Create MongoDB Playground, VS Code Extension abre una plantilla de entorno de pruebas por defecto preconfigurada con algunos comandos.
Nota
Para cargar nuevos Playgrounds sin la plantilla, desactiva la configuración de Use Default Template For Playground. Para aprender más sobre la configuración de VS Code Extension, consulta Visual Studio Code Settings.
Exportar un documento de consulta
Para exportar un documento de consulta:
Exporta tu selección.
Haga clic en el botón Select Target for Export to Language en la barra de herramientas del área de juegos. El botón de exportación está a la izquierda del botón Play.
En el menú contextual, elige el lenguaje al que deseas exportar. La extensión VS Code abre una nueva ventana de VS Code con el código resaltado en el lenguaje que elijas.
Por ejemplo, exportar el documento de consulta del paso 1 a Java da como resultado el siguiente código:
new Document("date", new Document("$gte", new java.util.Date(1396569600000L)) .append("$lt", new java.util.Date(1396656000000L)))
Configurar opciones de exportación
Puede elegir si desea incluir declaraciones de importación, sintaxis del controlador o ambas en el código exportado.
En la parte superior de la ventana VS Code recién abierta que contiene el código exportado, use los botones Import Statements y Driver Syntax para controlar estas opciones.
La inclusión de ambas declaraciones de importación y la sintaxis del controlador para el código Java anterior da como resultado este resultado:
import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.conversions.Bson; import java.util.concurrent.TimeUnit; import org.bson.Document; /* * Requires the MongoDB Java Driver. * https://mongodb.github.io/mongo-java-driver */ MongoClient mongoClient = new MongoClient( new MongoClientURI( "mongodb://localhost:27017/?readPreference=primary&appname=mongodb-vscode+0.7.0&directConnection=true&ssl=false" ) ); MongoDatabase database = mongoClient.getDatabase("mongodbVSCodePlaygroundDB"); MongoCollection<Document> collection = database.getCollection("sales"); FindIterable<Document> result = collection.aggregate(new Document("date", new Document("$gte", new java.util.Date(1396569600000L)) .append("$lt", new java.util.Date(1396656000000L))));
Nota
Las opciones de exportación varían según el idioma de exportación seleccionado.
Exportar una canalización de agregación
Para exportar una canalización de agregación:
Exporta tu selección.
Haga clic en el botón Select Target for Export to Language en la barra de herramientas del área de juegos. El botón de exportación está a la izquierda del botón Play.
En el menú contextual, elige el lenguaje al que deseas exportar. La extensión VS Code abre una nueva ventana de VS Code con el código resaltado en el lenguaje que elijas.
Por ejemplo, exportar la canalización del paso 1 a Java da como resultado el siguiente código:
Arrays.asList(new Document("$match", new Document("date", new Document("$gte", new java.util.Date(1388534400000L)) .append("$lt", new java.util.Date(1420070400000L)))), new Document("$group", new Document("_id", "$item") .append("totalSaleAmount", new Document("$sum", new Document("$multiply", Arrays.asList("$price", "$quantity"))))))
Configurar opciones de exportación
Puede elegir si desea incluir declaraciones de importación, sintaxis del controlador o ambas en el código exportado.
En la parte superior de la ventana VS Code recién abierta que contiene el código exportado, use los botones Import Statements y Driver Syntax para controlar estas opciones.
La inclusión de ambas declaraciones de importación y la sintaxis del controlador para el código Java anterior da como resultado este resultado:
import java.util.Arrays; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.conversions.Bson; import java.util.concurrent.TimeUnit; import org.bson.Document; /* * Requires the MongoDB Java Driver. * https://mongodb.github.io/mongo-java-driver */ MongoClient mongoClient = new MongoClient( new MongoClientURI( "mongodb://localhost:27017/?readPreference=primary&appname=mongodb-vscode+0.7.0&directConnection=true&ssl=false" ) ); MongoDatabase database = mongoClient.getDatabase("mongodbVSCodePlaygroundDB"); MongoCollection<Document> collection = database.getCollection("sales"); FindIterable<Document> result = collection.aggregate(Arrays.asList(new Document("$match", new Document("date", new Document("$gte", new java.util.Date(1388534400000L)) .append("$lt", new java.util.Date(1420070400000L)))), new Document("$group", new Document("_id", "$item") .append("totalSaleAmount", new Document("$sum", new Document("$multiply", Arrays.asList("$price", "$quantity")))))));
Nota
Las opciones de exportación varían según el idioma de exportación seleccionado.