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
storesespecificado.No parâmetro
pathpara 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 dostores. 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
storesespecificado.No parâmetro
pathpara 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 dostores. 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
storesespecificado.No parâmetro
pathpara 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 dostores. 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
storesespecificado.No parâmetro
pathpara 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 dostores. 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
storesespecificado.No parâmetro
pathpara 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 dostores. Esta opção não se aplica a armazenamentos de Atlas cluster.
Sintaxe
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 ]} })
Parâmetros
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 |
|---|---|---|---|
| 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 Você pode gerar nomes de collection dinamicamente a partir de caminhos de arquivos, especificando | Obrigatório |
| objeto | Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array | Obrigatório |
| 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 | Obrigatório |
| string | Caminho para os arquivos e pastas. Especifique | Obrigatório |
| 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:
Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo. | Opcional |
| 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:
Se omitido, o padrão é 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 | 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 |
|---|---|---|---|
| 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 Você pode gerar nomes de collection dinamicamente a partir de caminhos de arquivos, especificando | Obrigatório |
| objeto | Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array | Obrigatório |
| 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 | Obrigatório |
| string | Caminho para os arquivos e pastas. Especifique | Obrigatório |
| 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:
Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo. | Opcional |
| 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:
Se omitido, o padrão é 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 | 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 |
|---|---|---|---|
| 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 Você pode gerar nomes de collection dinamicamente a partir de caminhos de arquivos, especificando | Obrigatório |
| objeto | Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array | Obrigatório |
| 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 | Obrigatório |
| string | Caminho para os arquivos e pastas. Especifique | Obrigatório |
| 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:
Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo. | Opcional |
| 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:
Se omitido, o padrão é 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 | 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 |
|---|---|---|---|
| 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 Você pode gerar nomes de coleção dinamicamente especificando Para bancos de dados gerados dinamicamente, você pode gerar coleções curinga especificando
Para coleções curinga ( | Obrigatório |
| objeto | Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array | Obrigatório |
| 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 | Obrigatório |
| 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 ( | Condicional |
| string | Nome da coleção no banco de banco de dados do Atlas . Para criar uma collection de curinga ( | Condicional |
| string | Padrão regex a ser usado para criar a coleção de curingas ( Para utilizar padrões regex para nomes de coleção curingas ( | 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 |
|---|---|---|---|
| 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 |
| objeto | Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array | Obrigatório |
| 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 | Obrigatório |
| booleano | Valida o esquema na s URLespecificada. O valor pode ser um dos seguintes:
Se verdadeiro, o Atlas Data Federation:
AVISO: se você definir isso como Se omitido, o padrão é | Opcional |
| 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 | Obrigatório |
| 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:
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 | 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 | |
|---|---|---|---|---|
| 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:
| Obrigatório | |
| objeto | Array de objeto em que cada objeto representa um reconhecimento de data center de instância do banco de dados federado na array Você pode especificar vários | Obrigatório | |
| 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 | Obrigatório | |
| string | Nome do conjunto de dados do arquivo on-line para mapear com a coleção. O arquivo on-line Você não pode especificar o | Condicional | |
| 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 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 | Condicional | |
| 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 | Opcional | |
| 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 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 |
|---|---|---|---|
| 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 |
| string | O nome da coleção de origem na qual criar a visualização. | Obrigatório |
| 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 | 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 |
|---|---|---|---|
| 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 |
| série de estágios | Os estágios do pipeline de agregação a serem aplicados à coleção. Para visualizações SQL, | Obrigatório |
Saída
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 }
Exemplos
Os exemplos a seguir usam os dados de amostra airbnb em uma loja AWS S3 com as seguintes configurações:
Nome da loja |
|
Região |
|
Balde |
|
Prefixo |
|
Delimitador |
|
dataset de amostra |
|
Exemplo básico
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" }] }] }] } }
Exemplos de uso de curingas
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 |
|
Prefixo |
|
Delimitador |
|
dataset de amostra |
|
Exemplo básico
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
Exemplos de uso de curingas
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 |
|
Região |
|
Balde |
|
Prefixo |
|
Delimitador |
|
dataset de amostra |
|
Exemplo básico
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" }] }] }] } }
Exemplos de uso de curingas
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 |
|
dataset de amostra |
|
Revise Carregar dados de amostra em seu cluster do Atlas para carregar o conjunto de dados de amostra em seu cluster do Atlas .
Exemplo básico
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" }] }] }] } }
Exemplos de uso de curingas
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.jsonhttps://atlas-data-lake.s3.amazonaws.com/json/sample_weatherdata/data.json
Exemplo básico
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" ] } ] } ] } ] } }
Exemplos de uso de curingas
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 |
|
Nome do Online Archive |
|
Exemplo básico
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 }
Exemplos de uso de curingas
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
Exemplo de múltiplos conjuntos de dados
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:
airbnbconjunto de dados na pastajsonno armazenamento S3 chamadoegS3Storeairbnbconjunto de dados na coleçãosample_airbnb.listingsAndReviewsno Atlas cluster denominadomyTestClusterairbnbconjunto de dados na URLhttps://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:
Verificar collection
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 })
Solução de problemas de erros
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.