【发布时间】:2017-07-25 07:10:31
【问题描述】:
我得到了一个结构如下的文档。我的问题是如何在数据库端进行嵌套部分“角色”验证。我的要求是:
- 角色大小可以为 0 或大于 1。
-
如果创建了角色,则存在角色的 name 和 created_by。
{ "_id": "123456", "name": "User Name", "roles": [ { "name": "mobiles_user", "last_usage_at": { "$date": 1457000592991 }, "created_by": "987654", "created_at": { "$date": 1457000592991 } }, { "name": "webs_user", "last_usage_at": { "$date": 1457000592991 }, "created_by": "987654", "created_at": { "$date": 1457000592991 } }, ] }
目前,我只对那些非嵌套属性执行以下操作:
db.createCollection( "users",
{ "validator" : {
"_id" : {
"$type" : "string"
},
"email" : {
"$regex" : /@gmail\.com$/
},
"name" : {
"$type" : "string"
}
}
} )
谁能告诉我如何进行嵌套文档验证?
【问题讨论】:
-
澄清一下:你的意思是大小可以是0、2、3等,但不能是1?
-
你能更新接受的答案吗?我不希望来这里的人被误导认为这是不可能的,我已经证明了这是可能的。
标签: mongodb