private async Task RemoveFromParentsChildrenCollection(Node oldDir, NodeID oldId, IDatabaseSession db) { var toRemove = oldDir?.Attributes?.Items .FirstOrDefault(kv => kv.Key.Equals(Attr.Children)) ?.Value.Map?.Items?.FirstOrDefault(x => x.Key.Equals(oldId)); if (toRemove != null) { var dataToRemove = new Node { Id = oldDir.Id, Attributes = new Map { Items = new List <KeyValue>() { Utils.Prop(DateTime.UtcNow.Ticks, Attr.Children, new Map { Items = new List <KeyValue>() { toRemove, } }) } } }; // Merge these new fields into the existing node. await db.Except(dataToRemove); } }