我使用的是MongoDB和C#SDK。
我有这个结构:
和以下代码:
FilterDefinition<RoleEntry> subFilter = Builders<RoleEntry>.Filter.Eq(p => p.Sub, _sub);
FilterDefinition<RoleEntry> roleFilter = Builders<RoleEntry>.Filter.ElemMatch(p => p.Roles, r => r.DealerId != null);
FilterDefinition<RoleEntry> andFilter = Builders<RoleEntry>.Filter.And(subFilter, roleFilter);
UpdateDefinition<RoleEntry> updateDefinition = Builders<RoleEntry>.Update.PullAll("Roles.$.RoleIds", roleIds);
UpdateResult updateResult = await _mongoConnector.RoleEntryCollection.UpdateOneAsync(andFilter, updateDefinition, new UpdateOptions { }, cancellationToken);
roleIds
是一个包含PurchasingManager
的字符串数组。
问题:代码只会移除第一个PurchasingManager,但我想在&#34;角色&#34;的所有条目中将其删除。 - &GT; &#34; RoleIds&#34;阵列。