Puede exportar y traducir documentos de consulta y canales de agregación desde un playground en un lenguaje de programación utilizando la MongoDB Extension for Github Copilot. Puedes exportar las queries y pipelines a los siguientes lenguajes:
C#
Go
Java
Node.js
PHP
Python
Ruby
Rust
Requisitos previos
Debes activar la extensión MongoDB para GitHub Copilot para usar la Export to Language funcionalidad.
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 playground por defecto.
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 query
Para exportar un query documento:
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 query 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
Puedes elegir si incluir instrucciones de importación, sintaxis del driver, o ambos en tu código exportado.
En la parte superior de la nueva ventana de VS Code que contiene su código exportado, utiliza los botones Import Statements y Driver Syntax para controlar estas opciones.
Si se incluyen tanto las instrucciones de importación como la sintaxis del driver para el código Java anterior, se obtiene 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 lenguaje de exportación seleccionado.
Exportar un pipeline de agregación
Para exportar una pipeline 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
Puedes elegir si incluir instrucciones de importación, sintaxis del driver, o ambos en tu código exportado.
En la parte superior de la nueva ventana de VS Code que contiene su código exportado, utiliza los botones Import Statements y Driver Syntax para controlar estas opciones.
Si se incluyen tanto las instrucciones de importación como la sintaxis del driver para el código Java anterior, se obtiene 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 lenguaje de exportación seleccionado.