1
我有以下結構MongoDB的C#如何刪除嵌套記錄
{
"_id" : "68f77d83-7141-4867-a355-16eda3ebe470",
"Roles" : [
{
"Id" : "0001010260",
"RoleIds" : [
"Customer",
"Admin"
]
}
]
}
現在我儘量只刪除一個角色ID所以「客戶」或「管理」。 我有兩個過濾器,我與AND結合。
FilterDefinition<RoleEntry> subFilter = Builders<RoleEntry>.Filter.Eq(p => p.Sub, _sub);
FilterDefinition<RoleEntry> idFilter = Builders<RoleEntry>.Filter.ElemMatch(p => p.Roles, r => r.Id == _role.Id);
我可以刪除整個RoleIds元素。 我不知道我是如何得到更深層次的。
與
UpdateDefinition<RoleEntry> updateDefinition = Builders<RoleEntry>.Update.Unset("Roles.$.RoleIds");
UpdateResult result = await _roleEntryConnector.RoleEntryCollection.UpdateOneAsync(andFilter, updateDefinition, null, cancellationToken);
嘗試過,但這個完全地去除RoleIds。