Criei a coleção Conta com a seguinte estrutura:
{
name: 'conta',
type: 'collection',
options: {
validator: {
'$jsonSchema': {
bsonType: 'object',
required: [ 'agencia', 'numero', 'valor', 'cpf' ],
properties: {
agencia: {
bsonType: 'string',
description: 'Agência da Conta (Obrigatório)'
},
numero: {
bsonType: 'string',
description: 'Número da Conta (Obrigatório)',
minLength: 4
},
valor: {
bsonType: 'double',
description: 'Montante Monetário Presente na Conta',
minimum: 0
},
cpf: {
bsonType: 'string',
description: 'CPF: Identifica de que Cliente é essa Conta, (Obrigatório)'
}
}
}
},
validationLevel: 'strict',
validationAction: 'error'
}
Ao tentar inserir um documento com o atributo Valor sendo um número inteiro está dando erro:
db.conta.insertOne({
agencia: "0002",
numero: "0123",
valor: 4.0,
cpf: "123456789100"
})
Erro:
Uncaught:
MongoServerError: Document failed validation
Additional information: {
failingDocumentId: ObjectId("63f979941269512fef853434"),
details: {
operatorName: '$jsonSchema',
schemaRulesNotSatisfied: [
{
operatorName: 'properties',
propertiesNotSatisfied: [
{
propertyName: 'valor',
description: 'Montante Monetário Presente na Conta',
details: [ [Object] ]
}
]
}
]
}
}
Eu estou usando o Visual Studio para editar meu código e rodando direto no terminal do MongoDb. Consegui inserir um documento com valor 4.2, por exemplo.
Alguém teve esse problema?