如何解决mongodb中的数据验证失败?
我创建了以下mongodb集合如何解决mongodb中的数据验证失败?,mongodb,validation,Mongodb,Validation,我创建了以下mongodb集合 db.createCollection("task3", {"validator": {"$and": [ {"Company.cname":{"$type":"string"}, "Company.city":{"$type":"string"}, "Company.street":{"$typ
db.createCollection("task3",
{"validator": {"$and": [ {"Company.cname":{"$type":"string"},
"Company.city":{"$type":"string"},
"Company.street":{"$type":"string"},
"Company.bldg#":{"$type":"int"},
"Company.bldg#":{"$gt":0},
"Company.bldg#":{"$lt":500},
"Company.budget":{"$type": "double"},
"Company.budget":{"$gt":0},
"Company.Department.floor":{"$type":"int"},
"Company.Department.dname":{"$type":"string"},
"Company.Department.Employee.first_name":{"$type":"string"},
"Company.Department.Employee.last_name":{"$type":"string"},
"Company.Department.Employee.enumber":{"$type":"int"},
"Company.Department.Employee.date_of_birth":{"$type":"date"},
"Company.Department.Employee.position":{"$type":"string"},
"Company.Department.Employee.position":{"position":{"$exists":false},
"Company.Department.Employee.salary":{"$type":"double"}}]}});
我正在尝试插入以下数据
db.task3.insert(
{ "Company":{
"cname":"Google",
"city":"Sydney",
"street":"Pitt Street",
"bldg#":NumberInt(100),
"budget": 100000.0,
"Department":{
"dname":"Google",
"floor":NumberInt(4),
"Employee": {"first_name" : "George",
"last_name": "Martin",
"enumber" : NumberInt(109),
"date_of_birth": new Date('Dec 26,1981'),
"salary" : 70000.0 }}}});
当尝试这样做时,我收到以下错误
WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 121,
"errmsg" : "Document failed validation"
}
})
我理解错误背后的含义,但我不确定为什么我会收到它,因为我的插入似乎遵循了所有的约束,但很明显有些地方出了问题。谢谢你在你的验证器中,
部门
是公司的一个字段,但不是在你插入的json中。@L.Sanna那么正确的json会是什么样子?@L.Sanna我更新了我的插入,我相信你会正确地插入json,但它仍然给出相同的错误