键$date不得以'$'开头 尝试插入到 MongoDB 集合时



我的数据库名为" noticias ";还有一个名为"noticias2"的集合

下面是验证模式:

db.createCollection("noticias2", {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "newsID", "nombre", "autor", "fecha", "cuerpo", "comentarios"],
properties: {
newsID: {
bsonType: "int",
description: "Numero Unico para cada Noticia"
},
nombre: {
bsonType: "string",
description: "Nombre de la noticia"
},
autor: {
bsonType: "string",
description: "Nombre del autor de la noticia"
},
fecha: {
bsonType: "date",
description: "Nombre de usuario del autor"
},
cuerpo: {
bsonType: "string",
description: "Cuerpo de la noticia"
},
comentarios: {
bsonType: ["array"],
minItems: 0, // each box of food color must have at least one color
uniqueItems: false,
items: {
bsonType: ["object"],
required: ["autor", "calificacion", "fecha", "comentario"],
description: "Los datos de cada comentario",
properties: {
autor: {
bsonType: "string",
description: "Nombre del autor de la noticia"
},
calificacion: {
bsonType: "int",
description: "La calificacion que dio el autor a la noticia"
}, 
fecha: {
bsonType: "date",
description: "Fecha en la que se realizo el comentario"
},
comentario: {
bsonType: "string",
description: "Cuerpo del comentario"
},
}
}
},
tag: {
bsonType: ["array"],
uniqueItems: false,
items: {
bsonType: ["string"],
description: "Los datos de cada comentario",
}
}
},
}
},
validationAction: "warn"
})

当我试图插入一个新项目以测试模式时,我得到了错误:

key $date不能以'$'"开头

这是插入查询:

db.noticias2.insert(
{
"newsID": 3,
"nombre": "Switches",
"autor": "Jeannine Hammarberg",
"fecha": {
"$date": "2019-05-06T15:32:57.000Z"
},
"cuerpo": "Bushpig",
"comentarios": [
{
"autor": "Gabrila Featonby",
"calificacion": 1,
"fecha": {
"$date": "2020-05-18T20:44:07.000Z"
},
"comentario": "Southern boubou"
},
{
"autor": "Janeta Lamonby",
"calificacion": 9,
"fecha": {
"$date": "2018-10-06T17:50:47.000Z"
},
"comentario": "Squirrel, uinta ground"
},
{
"autor": "Allard Livard",
"calificacion": 7,
"fecha": {
"$date": "2020-05-19T19:27:56.000Z"
},
"comentario": "Springbok"
}
],
"tag": [
"Gigazoom",
"Tanoodle",
"Kaymbo"
]
}
)
mongo --version:

mongo——版本:

MongoDB shell version v4.4.2
Build Info: {
"version": "4.4.2",
"gitVersion": "15e73dc5738d2278b688f8929aee605fe4279b0e",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "windows",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}

p。D:验证模式中的任何反馈都将受到赞赏,很抱歉它是西班牙语的,我的教授强迫我使用

所以答案是替换每个

"fecha": {
"$date": "2020-05-18T20:44:07.000Z"
},

:

"fecha": ISODate('2020-05-18T20:44:07.000Z'),

最新更新