我有这样的记录。
map[
Description:this belong to A community
Moderators:[]
Name:A
SourceName:SourceA
State1:State1
State2:State2
]
我想尝试使用或不使用试图删除的角色的用户。为此,我编写了一个查询,但始终返回一个空数组。
{
"photo": "default.jpg",
"roles": [
{
"_id": "5f44d77be830263684eb7914",
"name": "Test",
"__v": 0
}
],
"_id": "5f44d2f4ff04993b40684bf9",
"name": "Test User",
"email": "test@gmail.com",
"id": "5f44d2f4ff04993b40684bf9"
}
这些是我在指南针中检查过的查询,但它始终是一个数组
const check = await User.find({roles: {$elemMatch: {_id: req.params.id}}});
我的用户文档的角色字段是这样的。
{"roles._id":"5f44d77be830263684eb7914"}
{roles: $elemMatch: {_id: "5f44d77be830263684eb7914"}}
如果有任何方法可以强制执行完整性约束,例如如果用户尝试删除依赖于其他记录的记录,那么我们不应允许用户删除该记录。