Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

create (Comando Data Federation )

O comando create cria uma coleção para stores existente ou uma visualização em uma coleção na configuração de armazenamento da instância do banco de dados federado. Selecione se deseja criar uma coleção ou uma visualização e, em seguida, selecione as opções aplicáveis para ver os detalhes relevantes.

Observação

O curinga "*" pode ser utilizado com o comando create de duas maneiras:

  • Como o nome da coleção para criar dinamicamente coleções que mapeiam os dados no armazenamento de instância do banco de dados federado stores especificado.

  • No parâmetro path para criar uma coleção que mapeia para vários arquivos e pastas no caminho de arquivo especificado no armazenamento de instância do banco de dados federado do stores. Esta opção não se aplica a armazenamentos de Atlas cluster.

Observação

O curinga "*" pode ser utilizado com o comando create de duas maneiras:

  • Como o nome da coleção para criar dinamicamente coleções que mapeiam os dados no armazenamento de instância do banco de dados federado stores especificado.

  • No parâmetro path para criar uma coleção que mapeia para vários arquivos e pastas no caminho de arquivo especificado no armazenamento de instância do banco de dados federado do stores. Esta opção não se aplica a armazenamentos de Atlas cluster.

Observação

O curinga "*" pode ser utilizado com o comando create de duas maneiras:

  • Como o nome da coleção para criar dinamicamente coleções que mapeiam os dados no armazenamento de instância do banco de dados federado stores especificado.

  • No parâmetro path para criar uma coleção que mapeia para vários arquivos e pastas no caminho de arquivo especificado no armazenamento de instância do banco de dados federado do stores. Esta opção não se aplica a armazenamentos de Atlas cluster.

Observação

O curinga "*" pode ser utilizado com o comando create de duas maneiras:

  • Como o nome da coleção para criar dinamicamente coleções que mapeiam os dados no armazenamento de instância do banco de dados federado stores especificado.

  • No parâmetro path para criar uma coleção que mapeia para vários arquivos e pastas no caminho de arquivo especificado no armazenamento de instância do banco de dados federado do stores. Esta opção não se aplica a armazenamentos de Atlas cluster.

Observação

O curinga "*" pode ser utilizado com o comando create de duas maneiras:

  • Como o nome da coleção para criar dinamicamente coleções que mapeiam os dados no armazenamento de instância do banco de dados federado stores especificado.

  • No parâmetro path para criar uma coleção que mapeia para vários arquivos e pastas no caminho de arquivo especificado no armazenamento de instância do banco de dados federado do stores. Esta opção não se aplica a armazenamentos de Atlas cluster.

A sintaxe a seguir cria uma coleção para armazenar uma instância do banco de dados federado S3.

db.runCommand({ "create" : "<collection-name>|*", "dataSources" : [{ "storeName" : "<store-name>", "path" : "<path-to-files-or-folders>", "defaultFormat" : "<file-extension>", "omitAttributes": <boolean> }]})

A seguinte sintaxe cria uma coleção para um armazenamento de instância do banco de dados federado do Azure.

db.runCommand({ "create" : "<collection-name>|*", "dataSources" : [{ "storeName" : "<store-name>", "path" : "<path-to-files-or-folders>", "defaultFormat" : "<file-extension>", "omitAttributes": <boolean> }]})

A sintaxe a seguir cria uma coleção para um armazenamento de instância do banco de dados federado do Google Cloud.

db.runCommand({ "create" : "<collection-name>|*", "dataSources" : [{ "storeName" : "<store-name>", "path" : "<path-to-files-or-folders>", "defaultFormat" : "<file-extension>", "omitAttributes": <boolean> }]})

A seguinte sintaxe cria uma coleção para um armazenamento de instância do banco de dados federado do Atlas cluster.

db.runCommand({ "create" : "<collection-name>"|"*", "dataSources" : [{ "storeName" : "<store-name>", "database" : "<atlas-database-name>", "collection" : "<atlas-collection-name>" | "collectionRegex": "<regex-pattern>" }]})

A seguinte sintaxe cria uma coleção para um armazenamento de instância do banco de dados federado HTTP.

db.runCommand({ "create" : "<collection-name>", "dataSources" : [{ "storeName" : "<store-name>", "allowInsecure" : true|false, "urls" : [ "<url>" ], "defaultFormat" : "<file-extension>" }]})

A seguinte sintaxe cria uma coleção para um armazenamento de instância do banco de dados federado do Online Archive.

db.runCommand({ "create" : "<collection-name>|*", "dataSources" : [{ "storeName" : "<store-name>", "datasetName" : "<online-archive-dataset-name>", "datasetPrefix": "<prefix-name>", "trimLevel" : <trim-number>, "maxDatasets": <maximum-number-of-datasets> }]})

A sintaxe a seguir cria uma exibição padrão que executa um pipeline de agregação em outra coleção.

db.runCommand({ "create" : "<view-name>", "viewOn" :" <collection-name>", "pipeline" : ["<stage1>","<stage2>",...] })

A seguinte sintaxe cria uma visualização SQL utilizando o estágio $sql.

db.runCommand({ "create" : "<view-name>", "pipeline" : ["$sql": {"statement": "<SQL-statement>", "excludeNamespaces": true | false ]} })

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma coleção para um armazenar de instância do banco de dados federado S3.

Parâmetro
Tipo
Descrição
necessidade

<collection-name>|*

string

O nome da collection para a qual o Data Federation mapeia os dados contidos no reconhecimento de data center de instância do banco de dados federado ou o curinga "*" para criar collection dinamicamente.

Você pode gerar nomes de collection dinamicamente a partir de caminhos de arquivos, especificando * para o nome da collection e a função collectionName() no campo dataSources.collection . Por padrão, o Atlas Data Federation cria até 100 collection de curingas. Você pode personalizar o número máximo de collection de curingas que o Atlas Data Federation gera automaticamente utilizando o parâmetro databases.[n].maxWildcardCollections . Observe que cada collection de curinga pode conter apenas um dataSource.

Obrigatório

dataSources

objeto

Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array stores para mapear com a collection.

Obrigatório

dataSources.storeName

string

Nome de um armazém de instância do banco de dados federado para mapear para a coleção. O valor deve corresponder a stores.[n].name na array stores .

Obrigatório

dataSources.path

string

Caminho para os arquivos e pastas. Especifique / para capturar todos os arquivos e pastas do caminho prefix. Consulte Definir sintaxe de caminho para armazenamentos de dados para obter mais informações.

Obrigatório

dataSources.defaultFormat

string

Formate o padrão do Data Federation se encontrar um arquivo sem extensão ao consultar o reconhecimento de data center de instância do banco de dados federado. Os seguintes valores são válidos:

.json, .json.gz, .bson, .bson.gz, .avro, .avro.gz, .orc, .tsv, .tsv.gz, .csv, .csv.gz, .parquet

Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo.

Opcional

dataSources.omitAttributes

booleano

Sinalizador que especifica se os atributos (pares de chave e valor) devem ser omitidos que o Atlas Data Federation adiciona à coleção. Você pode especificar um dos seguintes valores:

  • false - para adicionar os atributos

  • true - omitir os atributos

Se omitido, o padrão é false e o Atlas Data Federation adiciona os atributos.

O Atlas Data Federation adiciona atributos de partição aos documentos mesmo quando um campo com o mesmo nome já existe no documento, o que cria nomes de campo duplicados. O MongoDB não oferece suporte a nomes de campo duplicados. Para evitar nomes de campo duplicados, defina omitAttributes como true ou use nomes de atributos de partição que não apareçam em seus documentos.

Opcional

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma collection para um armazenamento de instância do banco de dados federado do Azure.

Parâmetro
Tipo
Descrição
necessidade

<collection-name>|*

string

O nome da collection para a qual o Data Federation mapeia os dados contidos no reconhecimento de data center de instância do banco de dados federado ou o curinga "*" para criar collection dinamicamente.

Você pode gerar nomes de collection dinamicamente a partir de caminhos de arquivos, especificando * para o nome da collection e a função collectionName() no campo dataSources.collection . Por padrão, o Atlas Data Federation cria até 100 collection de curingas. Você pode personalizar o número máximo de collection de curingas que o Atlas Data Federation gera automaticamente utilizando o parâmetro databases.[n].maxWildcardCollections . Observe que cada collection de curinga pode conter apenas um dataSource.

Obrigatório

dataSources

objeto

Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array stores para mapear com a collection.

Obrigatório

dataSources.storeName

string

Nome de um armazém de instância do banco de dados federado para mapear para a coleção. O valor deve corresponder a stores.[n].name na array stores .

Obrigatório

dataSources.path

string

Caminho para os arquivos e pastas. Especifique / para capturar todos os arquivos e pastas do caminho prefix. Consulte Definir sintaxe de caminho para armazenamentos de dados para obter mais informações.

Obrigatório

dataSources.defaultFormat

string

Formate o padrão do Data Federation se encontrar um arquivo sem extensão ao consultar o reconhecimento de data center de instância do banco de dados federado. Os seguintes valores são válidos:

.json, .json.gz, .bson, .bson.gz, .avro, .avro.gz, .orc, .tsv, .tsv.gz, .csv, .csv.gz, .parquet

Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo.

Opcional

dataSources.omitAttributes

booleano

Sinalizador que especifica se os atributos (pares de chave e valor) devem ser omitidos que o Atlas Data Federation adiciona à coleção. Você pode especificar um dos seguintes valores:

  • false - para adicionar os atributos

  • true - omitir os atributos

Se omitido, o padrão é false e o Atlas Data Federation adiciona os atributos.

O Atlas Data Federation adiciona atributos de partição aos documentos mesmo quando um campo com o mesmo nome já existe no documento, o que cria nomes de campo duplicados. O MongoDB não oferece suporte a nomes de campo duplicados. Para evitar nomes de campo duplicados, defina omitAttributes como true ou use nomes de atributos de partição que não apareçam em seus documentos.

Opcional

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma coleção para um armazenamento de instância do banco de dados federado do Google Cloud.

Parâmetro
Tipo
Descrição
necessidade

<collection-name>|*

string

O nome da collection para a qual o Data Federation mapeia os dados contidos no reconhecimento de data center de instância do banco de dados federado ou o curinga "*" para criar collection dinamicamente.

Você pode gerar nomes de collection dinamicamente a partir de caminhos de arquivos, especificando * para o nome da collection e a função collectionName() no campo dataSources.collection . Por padrão, o Atlas Data Federation cria até 100 collection de curingas. Você pode personalizar o número máximo de collection de curingas que o Atlas Data Federation gera automaticamente utilizando o parâmetro databases.[n].maxWildcardCollections . Observe que cada collection de curinga pode conter apenas um dataSource.

Obrigatório

dataSources

objeto

Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array stores para mapear com a collection.

Obrigatório

dataSources.storeName

string

Nome de um armazém de instância do banco de dados federado para mapear para a coleção. O valor deve corresponder a stores.[n].name na array stores .

Obrigatório

dataSources.path

string

Caminho para os arquivos e pastas. Especifique / para capturar todos os arquivos e pastas do caminho prefix. Consulte Definir sintaxe de caminho para armazenamentos de dados para obter mais informações.

Obrigatório

dataSources.defaultFormat

string

Formate o padrão do Data Federation se encontrar um arquivo sem extensão ao consultar o reconhecimento de data center de instância do banco de dados federado. Os seguintes valores são válidos:

.json, .json.gz, .bson, .bson.gz, .avro, .avro.gz, .orc, .tsv, .tsv.gz, .csv, .csv.gz, .parquet

Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo.

Opcional

dataSources.omitAttributes

booleano

Sinalizador que especifica se os atributos (pares de chave e valor) devem ser omitidos que o Atlas Data Federation adiciona à coleção. Você pode especificar um dos seguintes valores:

  • false - para adicionar os atributos

  • true - omitir os atributos

Se omitido, o padrão é false e o Atlas Data Federation adiciona os atributos.

O Atlas Data Federation adiciona atributos de partição aos documentos mesmo quando um campo com o mesmo nome já existe no documento, o que cria nomes de campo duplicados. O MongoDB não oferece suporte a nomes de campo duplicados. Para evitar nomes de campo duplicados, defina omitAttributes como true ou use nomes de atributos de partição que não apareçam em seus documentos.

Opcional

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma collection para um armazenamento de instância do banco de dados federado do Atlas cluster.

Parâmetro
Tipo
Descrição
necessidade

<collection-name>|*

string

O nome da collection para a qual o Data Federation mapeia os dados contidos no reconhecimento de data center de instância do banco de dados federado ou o curinga "*" para criar collection dinamicamente.

Você pode gerar nomes de coleção dinamicamente especificando * para o nome da coleção e omitindo o parâmetro dataSources.collection .

Para bancos de dados gerados dinamicamente, você pode gerar coleções curinga especificando * para o nome da coleção e omitindo os seguintes parâmetros:

  • dataSources.collection

  • dataSources.database

Para coleções curinga (*), você pode utilizar o parâmetro dataSources.collectionRegex para gerar coleções com nomes que correspondem a um padrão regex.

Obrigatório

dataSources

objeto

Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array stores para mapear com a collection.

Obrigatório

dataSources.storeName

string

Nome de um armazém de instância do banco de dados federado para mapear para a coleção. O valor deve corresponder a stores.[n].name na array stores .

Obrigatório

dataSources.database

string

Nome do banco de banco de dados que contém a coleção no Atlas cluster. Você deve omitir este parâmetro para gerar coleções curingas (*) para bancos de dados gerados dinamicamente.

Condicional

dataSources.collection

string

Nome da coleção no banco de banco de dados do Atlas . Para criar uma collection de curinga (*), você deve omitir este parâmetro.

Condicional

dataSources.collectionRegex

string

Padrão regex a ser usado para criar a coleção de curingas (*). Para saber mais sobre a sintaxe regex, consulte Linguagem de programação Go.

Para utilizar padrões regex para nomes de coleção curingas (*), você não deve especificar o parâmetro dataSources.collection .

Opcional

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma collection para um armazenamento de instância do banco de dados federado HTTP.

Parâmetro
Tipo
Descrição
necessidade

<collection-name>

string

O nome da collection para a qual a Atlas Data Federation mapeia os dados contidos no armazenamento da instância do banco de dados federado . Você não pode gerar nomes de coleção dinamicamente especificando *.

Obrigatório

dataSources

objeto

Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array stores para mapear com a collection.

Obrigatório

dataSources.storeName

string

Nome de um armazém de instância do banco de dados federado para mapear para a coleção. O valor deve corresponder a stores.[n].name na array stores .

Obrigatório

dataSources.allowInsecure

booleano

Valida o esquema na s URLespecificada. O valor pode ser um dos seguintes:

  • true para permitir esquema HTTP inseguro

  • false para permitir apenas esquema HTTPS seguro (padrão)

Se verdadeiro, o Atlas Data Federation:

  • Não verifica a cadeia de certificado do servidor e o nome do host.

  • Aceita qualquer certificado com qualquer nome de host apresentado pelo servidor.

AVISO: se você definir isso como true, seus dados poderão ficar vulneráveis a um ataques do tipo man-in-the-middle, que pode comprometer a confidencialidade e a integridade dos seus dados. Defina isso como true apenas para testar e começar a usar o Atlas Data Federation.

Se omitido, o padrão é false.

Opcional

dataSources.urls

array de strings ou array vazia

As URLs dos arquivos de dados acessíveis publicamente. Não é possível especificar URL sque exijam autenticação. O Atlas Data Federation cria uma partição para cada URL. Se vazio ou omitido,o Atlas Data Federation utiliza os URLs do armazenamento especificado no parâmetro dataSources.storeName.

Obrigatório

dataSources.defaultFormat

string

Formate o padrão do Data Federation se encontrar um arquivo sem extensão ao consultar o reconhecimento de data center de instância do banco de dados federado. Os seguintes valores são válidos:

.json, .json.gz, .bson, .bson.gz, .avro, .avro.gz, .orc, .tsv, .tsv.gz, .csv, .csv.gz, .parquet

Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo.

Se incluído, o formato especificado se aplica somente aos URLs no dataSource.

Opcional

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma collection para um armazenamento de instância do banco de dados federado do Online Archive.

Parâmetro
Tipo
Descrição
necessidade

<collection-name>

string

O nome da collection para a qual a Atlas Data Federation mapeia os dados contidos no armazenamento da instância do banco de dados federado . Para gerar nomes de coleções dinamicamente, você deve fazer o seguinte:

  • Defina o valor do campo <collection-name> como *.

  • Forneça valores para os campos datasetPrefix e trimLevel .

  • Omitir o campo datasetName .

Obrigatório

dataSources

objeto

Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array stores para mapear com a collection.

Você pode especificar vários dataSources para uma coleção de curingas somente se todos os dataSources do mapa de coleção para armazenamentos de arquivos online.

Obrigatório

dataSources.storeName

string

Nome de um armazém de instância do banco de dados federado para mapear para a coleção. O valor deve corresponder a stores.[n].name na array stores .

Obrigatório

datasetName

string

Nome do conjunto de dados do arquivo on-line para mapear com a coleção. O arquivo on-line datasetName está no seguinte formato:

<version>$<type>$<subtype>$<clusterName>$<dbName>$<collectionName>$<snapshotId>

Você não pode especificar o datasetName para coleções de curingas. Você não pode especificar o datasetName para collections não curingas se especificar datasetPrefix.

Condicional

datasetPrefix

string

Necessário apenas para collections de curingas. Opcional para collection não curinga.

Prefixo do nome do conjunto de dados para correspondência com os nomes de conjuntos de dados do arquivo on-line.

Se você especificar este parâmetro para coleções curinga, o Atlas Data Federation mapeará as coleções para somente os nomes de conjunto de dados cujo prefixo corresponder ao datasetPrefix que você especifica.

Se você especificar esse parâmetro para collections não curinga, o Atlas Data Federation mapeará o conjunto de dados mais recente (para o snapshot capturado mais recentemente) para a collection. Você deve omitir datasetName para especificar este parâmetro para collections não curingas.

Condicional

maxDatasets

int

Somente para collections de curinga.

Número máximo de conjuntos de dados a partir dos quais gerar collections dinamicamente para a fonte de dados. O valor deve ser maior que 0. O Atlas Data Federation gera conjuntos de dados em ordem alfabética inversa.

Opcional

trimLevel

int

Somente para collections de curinga.

Número de caracteres a serem cortados à esquerda do nome do conjunto de dados antes de mapear os campos restantes para um nome de coleção curinga. O valor deve ser maior que 0. Se omitido, o padrão é 0.

Você pode definir essa configuração apenas para collections de curingas.

Opcional

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma exibição padrão que executa um pipeline de agregação em outra coleção.

Parâmetro
Tipo
Descrição
necessidade

<view-name>

string

O nome da visualização. O nome de uma visualização deve ser exclusivo. Não pode ser igual ao nome de uma collection ou a qualquer outro nome de visualização no mesmo banco de dados de dados.

Obrigatório

viewOn

string

O nome da coleção de origem na qual criar a visualização.

Obrigatório

pipeline

série de estágios

A array de estágios do agregação pipeline a serem usados para criar a visualização.

O pipeline de definição de visualização não pode incluir o $out ou o estágio $merge, mesmo dentro de estágios do pipeline aninhados como $lookup ou $facet.

Obrigatório

Os parâmetros a seguir descrevem os campos disponíveis ao criar uma visualização SQL usando o estágio $sql.

Parâmetro
Tipo
Descrição
necessidade

<view-name>

string

O nome da visualização. O nome de uma visualização deve ser exclusivo. Não pode ser igual ao nome de uma collection ou a qualquer outro nome de visualização no mesmo banco de dados de dados.

Obrigatório

pipeline

série de estágios

Os estágios do pipeline de agregação a serem aplicados à coleção. Para visualizações SQL, pipeline deve começar com um estágio $sql que especifique uma collection de origem na instrução SQL.

Obrigatório

O comando retornará a seguinte saída se for bem-sucedido. Você pode verificar os resultados executando os comandos em Verificar Coleção. Se falhar, consulte Solucionar erros abaixo para obter as soluções recomendadas.

{ ok: 1 }

Os exemplos a seguir usam os dados de amostra airbnb em uma loja AWS S3 com as seguintes configurações:

Nome da loja

egS3Store

Região

us-east-2

Balde

test-data-federation

Prefixo

json

Delimitador

/

dataset de amostra

airbnb

O comando a seguir cria uma coleção chamada airbnb no banco de dados sampleDB na configuração de armazenamento. A coleção airbnb mapeia para o conjunto de dados de amostra airbnb na pasta json no armazenar S3 chamado egS3Store.

use sampleDB
db.runCommand({ "create" : "airbnb", "dataSources" : [{ "storeName" : "egS3Store", "path" : "/json/airbnb", "defaultFormat" : ".json" }]})
{ "ok" : 1 }

Os seguintes comandos mostram que a collection foi criada com sucesso:

show collections
airbnb
db.runCommand({"storageGetConfig" : 1 })
{
"ok" : 1,
"storage" : {
"stores" : [{
"name" : "egS3Store",
"provider" : "s3",
"region" : "us-east-2",
"bucket" : "test-data-federation",
"delimiter" : "/",
"prefix" : ""
}],
"databases" : [{
"name" : "sampleDB",
"collections" : [{
"name" : "airbnb",
"dataSources" : [{
"storeName" : "egS3Store",
"path" : "/json/airbnb",
"defaultFormat" : ".json"
}]
}]
}]
}
}

Estes exemplos mostram como o curinga "*" pode ser especificado com o comando create .

Os exemplos a seguir usam os dados da amostra airbnb em um contêiner do Azure Blob Storage com as seguintes configurações:

Nome da loja

egAzureStore

Prefixo

sample

Delimitador

/

dataset de amostra

airbnb

O seguinte comando cria uma coleção denominada airbnb no banco de dados sampleDB na configuração de armazenamento. A coleção airbnb mapeia para o conjunto de dados de amostra airbnb na pasta sample no armazenamento do Azure denominada egAzureStore.

use sampleDB
db.runCommand({ "create" : "airbnb", "dataSources" : [{ "storeName" : "egAzureStore", "path" : "/sample/airbnb", "defaultFormat" : ".json" }]})
{ "ok" : 1 }

Os seguintes comandos mostram que a collection foi criada com sucesso:

show collections
airbnb

Os exemplos seguintes mostram como especificar um curinga "*" com o comando create .

Os exemplos a seguir usam os airbnb dados de amostra em um Google Cloud Platform armazenamento do Google Cloud Platform com as seguintes configurações:

Nome da loja

egGCStore

Região

us-central1

Balde

test-data-federation

Prefixo

json

Delimitador

/

dataset de amostra

airbnb

O seguinte comando cria uma coleção denominada airbnb no banco de dados sampleDB na configuração de armazenamento. A coleção airbnb mapeia para o conjunto de dados de amostra airbnb na pasta json no armazenamento do Google Cloud chamada egGCStore.

use sampleDB
db.runCommand({ "create" : "airbnb", "dataSources" : [{ "storeName" : "egGCStore", "path" : "/json/airbnb", "defaultFormat" : ".json" }]})
{ "ok" : 1 }

Os seguintes comandos mostram que a collection foi criada com sucesso:

show collections
airbnb
db.runCommand({"storageGetConfig" : 1 })
{
"ok" : 1,
"storage" : {
"stores" : [{
"name" : "egGCStore",
"provider" : "gcs",
"region" : "us-central1",
"bucket" : "test-data-federation",
"delimiter" : "/",
"prefix" : ""
}],
"databases" : [{
"name" : "sampleDB",
"collections" : [{
"name" : "airbnb",
"dataSources" : [{
"storeName" : "egGCStore",
"path" : "/json/airbnb",
"defaultFormat" : ".json"
}]
}]
}]
}
}

Estes exemplos mostram como o curinga "*" pode ser especificado com o comando create .

Os exemplos seguintes utilizam a collection sample_airbnb.listingsAndReviews do conjunto de dados de amostra no Atlas cluster com as seguintes configurações:

Nome da loja

egAtlasStore

dataset de amostra

sample_airbnb.listingsAndReviews

Revise Carregar dados de amostra em seu cluster do Atlas para carregar o conjunto de dados de amostra em seu cluster do Atlas .

O seguinte comando cria uma coleção denominada airbnb no banco de dados sampleDB na configuração de armazenamento. A coleção airbnb mapeia para a coleção de amostra listingsAndReviews no banco de dados sample_airbnb no Atlas cluster.

use sampleDB
db.runCommand({ "create" : "airbnb", "dataSources" : [{ "storeName" : "egAtlasStore", "database" : "sample_airbnb", "collection" : "listingsAndReviews" }]})
{ "ok" : 1 }

Os seguintes comandos mostram que a collection foi criada com sucesso:

show collections
airbnb
db.runCommand({"storageGetConfig":1})
{
"ok" : 1,
"storage" : {
"stores" : [{
"name" : "egAtlasStore",
"provider" : "atlas",
"clusterName" : "myTestCluster",
"projectId" : "<project-id>"
}],
"databases" : [{
"name" : "sampleDB",
"collections" : [{
"name" : "airbnb",
"dataSources" : [{
"storeName" : "egAtlasStore",
"database" : "sample_airbnb",
"collection" : "listingsAndReview"
}]
}]
}]
}
}

Estes exemplos mostram como o curinga "*" pode ser especificado com o comando create .

Os exemplos a seguir usam as seguintes URLs:

  • https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json

  • https://atlas-data-lake.s3.amazonaws.com/json/sample_weatherdata/data.json

O seguinte comando cria uma coleção denominada airbnb no banco de dados sampleDB na configuração de armazenamento. A coleção airbnb inclui uma partição para cada URL na coleção. O sinalizador allowInsecure não está definido e o padrão é false.

use sampleDB
db.runCommand({ "create" : "airbnb", "dataSources" : [{ "storeName" : "http-store", "urls": ["https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json","https://atlas-data-lake.s3.amazonaws.com/json/sample_weatherdata/data.json"], "defaultFormat" : ".json" }]})
{ "ok" : 1 }

Os seguintes comandos mostram que a collection foi criada com sucesso:

show collections
airbnb
db.runCommand({"storageGetConfig":1})
{
"ok" : 1,
"storage" : {
"stores" : [
{
"name" : "http-store",
"provider" : "http",
"urls" : [
"https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json",
"https://atlas-data-lake.s3.amazonaws.com/json/sample_weatherdata/data.json"
],
"defaultFormat" : ".json"
}
],
"databases" : [
{
"name" : "sampleDb",
"collections" : [
{
"name" : "airbnb",
"dataSources" : [
{
"storeName" : "http-store",
"defaultFormat" : ".json",
"urls" : [
"https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json",
"https://atlas-data-lake.s3.amazonaws.com/json/sample_weatherdata/data.json"
]
}
]
}
]
}
]
}
}

Coleções curinga "*" não são suportadas neste armazenamento de dados.

Os exemplos a seguir usam um arquivo on-line com as seguintes configurações:

Nome da loja

adlStore

Nome do Online Archive

v1$atlas$archive$testCluster$sample_airbnb$219eb1cb-20a6-4ce3-800a-aaefd6c227c6$66d512939b1fa57fe057aa22

O seguinte comando cria uma coleção denominada airbnb no banco de dados sampleDB na configuração de armazenamento. A coleção airbnb mapeia para os conjuntos de dados de arquivo online no pipeline sample_airbnb.listingsAndReviews.

use sampleDB
db.runCommand({ "create" : "airbnb", "dataSources" : [{ "storeName" : "adlStore", "datasetName" : "v1$atlas$snapshot$testCluster$sample_airbnb$listingsAndReviews" }]})
{ "ok" : 1 }

O exemplo seguinte utiliza o comando create para criar dinamicamente as coleções cujos nomes correspondem a um nome de prefixo especificado para o arquivo online.

use sample
db.runCommand({ "create" : "*", "dataSources" : [{ "storeName" : "adlStore", "datasetPrefix": "v1$atlas$snapshot$testCluster$sample_airbnb$listingsAndReviews", "trimLevel": 4 }]})
{ ok: 1 }

O comando a seguir mostra que a collection foi criada com sucesso:

show collections
sample_airbnb_listingsAndReviews_20220602T124437Z
sample_airbnb_listingsAndReviews_20220603T124603Z
sample_airbnb_listingsAndReviews_20220604T124420Z
sample_airbnb_listingsAndReviews_20220605T124454Z
sample_airbnb_listingsAndReviews_20220606T124419Z
sample_airbnb_listingsAndReviews_20220607T124515Z

O seguinte comando cria uma collection denominada egCollection no reconhecimento de data center do sampleDB na configuração de armazenamento. A collection egCollection mapeia para os seguintes conjuntos de dados de amostra:

  • airbnb conjunto de dados na pasta json no armazenamento S3 chamado egS3Store

  • airbnb conjunto de dados na coleção sample_airbnb.listingsAndReviews no Atlas cluster denominado myTestCluster

  • airbnb conjunto de dados na URL https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json

Aviso

Você não pode criar uma instância do banco de dados federado que mapeia para ambos os buckets do AWS S3 e contêineres do Azure Blob armazenamento. A Atlas Data Federation não oferece suporte a queries federadas entre diferentes provedores de nuvem.

use sampleDB
db.runCommand({ "create" : "egCollection", "dataSources" : [{ "storeName" : "egS3Store", "path" : "/json/airbnb" },{ "storeName" : "egAtlasStore", "database": "sample_airbnb", "collection": "listingsAndReviews" },{"storeName" : "egHttpStore", "urls": ["https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json"]}]})
{ "ok" : 1 }

Os seguintes comandos mostram que a collection foi criada com sucesso:

show collections
egCollection
db.runCommand({"storageGetConfig":1})
{
"ok" : 1,
"storage" : {
"stores" : [
{
"name" : "egS3Store",
"provider" : "s3",
"region" : "us-east-2",
"bucket" : "test-data-federation",
"delimiter" : "/",
"prefix" : ""
},
{
"name" : "egAtlasStore",
"provider" : "atlas",
"clusterName" : "myTestCluster",
"projectId" : "<project-id>"
},
{
"name" : "egHttpStore",
"provider" : "http",
"urls" : ["https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json"]
}
],
"databases" : [
{
"name" : "sampleDB",
"collections" : [{
"name" : "egCollection",
"dataSources" : [
{
"storeName" : "egS3Store",
"path" : "json/airbnb"
},
{
"storeName" : "egAtlasStore",
"database" : "sample_airbnb",
"collection" : "listingsAndReviews"
},
{
"storeName" : "egHttpStore",
"urls" : ["https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews.json"]
}
]
}]
}
]
}
}

O seguinte comando cria uma visualização denominada listings na collection airbnb no banco de banco de dados sample com os campos name e property_type :

use sampleDB
db.runCommand({ "create" : "listings", "viewOn" : "airbnb", "pipeline" : [{$project: {"property_type":1, "name": 1}}] })
{ "ok" : 1 }

O seguinte comando cria uma visualização SQL denominada listings que seleciona name e property_type da collection airbnb:

use sampleDB
db.runCommand({ "create" : "listings", "pipeline": [{$sql: {statement: "SELECT property_type, name FROM airbnb"} }] })
{ "ok" : 1 }

Os comandos listCollections e storageGetConfig retornam a seguinte saída:

Você pode verificar se o comando criou a collection ou visualização corretamente executando qualquer um dos seguintes comandos:

show collections
db.runCommand({ "storageGetConfig" : 1 })
db.runCommand({ "listCollections" : 1 })

Se o comando falhar, ele retornará um dos seguintes erros:

O nome da loja não existe

{
"ok" : 0,
"errmsg" : "store name does not exist",
"code" : 9,
"codeName" : "FailedToParse"
}

Solução: certifique-se de que o storeName especificado corresponda ao nome de uma loja na array stores . Você pode executar o comando listStores para recuperar a lista de armazenamentos na configuração de armazenamento da instância do banco de dados federado.

O Nome da collection Já Existe

{
"ok" : 0,
"errmsg" : "collection name already exists in the database",
"code" : 9,
"codeName" : "FailedToParse"
}

Solução: certifique-se de que a collection name seja única. Você pode executar o comando show collections para recuperar a lista de collection existentes.

Se o comando falhar, ele retornará o seguinte erro:

Ver nome existe

{
"ok" : 0,
"errmsg" : "a view '<database>.<view>' already exists, correlationID = <1603aaffdbc91ba93de6364a>",
"code" : 48,
"codeName" : "NamespaceExists"
}

Solução: certifique-se de que o nome da visualização seja exclusivo. Você pode executar o comando listCollections para recuperar a lista de visualizações existentes em uma coleção.

Se o comando falhar, ele retornará o seguinte erro:

Ver nome existe

{
"ok" : 0,
"errmsg" : "a view '<database>.<view>' already exists, correlationID = <1603aaffdbc91ba93de6364a>",
"code" : 48,
"codeName" : "NamespaceExists"
}

Solução: certifique-se de que o nome da visualização seja exclusivo. Você pode executar o comando listCollections para recuperar a lista de visualizações existentes em uma coleção.