MongOS

C:\\Program Files\\MongoDB\\Server\\4.0\\bin

Antes: Carros

use aula03
db.carros.find().pretty()
db.carros.insertOne({modelo: 'BH7657', marca: 'Tesla', ano: 2022})

Criação de Colection e Validação

db.createCollection('carros1', {
	validator: {
		bsonType: 'object',
		required: ['modelo', 'marca', 'ano'],
		properties: {
			modelo: {
				bsonType: 'string',
				description: 'Modelo deve ser String'
			},
			marca: {
				bsonType: 'string',
				minLength: 2
			},
			ano: {
				bsonType: 'int',
				minimum: 1980,
				maximum: 2025
			}
		}
	}
})

Testes

db.carros1.insert({
	modelo: 'onix',
	marca: 'chevrolet',
	ano: 1970,
})
db.carros1.insert({
	modelo: 'onix',
	marca: 'C',
	ano: 2000,
})

Apagando a colection

db.carros.drop()

Apagando o Registro

db.carros.delete()

CAPPED: Fila e tabelas de logs, exclui o reg. mais antigo Pokemon


  1. Criar uma collection chamada logs que esteja habilitado a fila com tamanho máximo em bytes 2048 bytes e que possua no máximo 5 documentos

Assim, apaga o primeiro inserindo para dar prioridade ao ultimo, com o limite de 5 registros na coletions.

db.createCollection('logs', {
	capped: true,
	size: 2048,
	max: 5
});

db.logs.insert({numero: 1})
db.logs.insert({numero: 2})
db.logs.insert({numero: 3})
db.logs.insert({numero: 4})
db.logs.insert({numero: 5})
db.logs.insert({numero: 6})
  1. Exibir somente os Pokémons que possuem true no atributo legendary

Lendários

db.pokemon.find({'Legendary':true}).pretty()