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

Insira documentos

Neste guia, você aprenderá a usar o driver Ruby para adicionar documentos a uma collection do MongoDB realizando operações de inserção.

Uma operação de inserção insere um ou mais documentos em uma coleção MongoDB . Você pode executar uma operação de inserção usando os seguintes métodos:

  • insert_one para inserir um único documento

  • insert_many para inserir um ou mais documentos

Os exemplos neste guia usam a collection restaurants no banco de dados sample_restaurants dos conjuntos de dados de amostra do Atlas. Para acessar essa coleção a partir do seu aplicação Ruby, crie um objeto Mongo::Client que se conecte a um Atlas cluster e atribua os seguintes valores às suas variáveis database e collection:

database = client.use('sample_restaurants')
collection = database[:restaurants]

Para aprender a criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o Guia de Introdução do MongoDB.

Em uma coleção MongoDB, cada documento deve conter um campo _id com um valor de campo único.

O MongoDB permite gerenciar este campo de duas maneiras:

  • Defina o campo _id para cada documento por conta própria, garantindo que cada valor seja único.

  • Permita que o acionador gere automaticamente valores de BSON::ObjectId únicos para cada campo de documento _id .

A menos que você possa garantir exclusividade, recomendamos deixar o driver gerar automaticamente os valores de _id .

Observação

Os valores duplicados de _id violam restrições de índice único , o que faz com que o driver retorne um erro.

Para saber mais sobre o campo _id, consulte o guia Índices únicos no manual do MongoDB Server .

Para saber mais sobre a estrutura e as regras de documentos, consulte o guia Documentos no manual do MongoDB Server .

Para adicionar um único documento a uma coleção MongoDB , chame o método insert_one e passe o documento que você deseja inserir.

O exemplo a seguir insere um documento na coleção restaurants :

document = { name: 'Neighborhood Bar & Grill', borough: 'Queens' }
collection.insert_one(document)

Para adicionar vários documentos a uma coleção MongoDB , chame o método insert_many e passe uma lista de documentos que você deseja inserir.

O exemplo a seguir insere dois documentos na collection restaurants :

documents = [
{ name: 'Metropolitan Cafe', borough: 'Queens' },
{ name: 'Yankee Bistro', borough: 'Bronx' }
]
collection.insert_many(documents)

Você pode passar um objeto Hash como parâmetro para o método insert_one para definir opções para configurar a operação de inserção. Se você não especificar nenhuma opção, o driver executará a operação de inserção com as configurações padrão.

A tabela seguinte descreve as opções que você pode definir para configurar a operação insert_one:

Opção
Descrição

bypass_document_validation

Instrui o driver se deve ignorar a validação em nível de documento. Para obter mais informações, consulte Validação de esquema no manual do MongoDB Server .
O padrão false é.

comment

Define um comentário a ser anexado à operação. Para obter mais informações, consulte o guia campos de comando de inserção no manual do MongoDB Server.

session

Define a sessão a ser usada para a operação. Para saber mais sobre sessões, consulte Sessões de cliente e garantias de consistência causal no manual do MongoDB Server .

write_concern

Define o write concern para a operação. Para obter mais informações, consulte o guia write concern no manual do MongoDB Server.

Você pode definir as configurações anteriores no método insert_many passando um Hash como parâmetro para a chamada do método. Você também pode usar a opção ordered para especificar a ordem em que o driver insere documentos no MongoDB.

O código a seguir usa o método insert_many para inserir três novos documentos em uma coleção. Como a opção bypass_document_validation está ativada, essa operação de inserção ignora a validação em nível de documento.

documents = [
{ name: 'Cloudy Day', borough: 'Brooklyn' },
{ name: 'Squall or Shine', borough: 'Staten Island' }
{ name: 'Rose Field', borough: 'Queens' }
]
options = { bypass_document_validation: true }
collection.insert_many(documents, options)

Para saber mais sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API: