我有一个可以包含“收藏夹”元素的文档,我正在尝试将新值推送到该元素的数组中。但是,我收到一个错误,因为我尝试更新的文档没有“收藏夹”元素。如果元素不存在,我该如何创建它,以便将新值推送到它的数组属性中?我可以一次操作吗?这是我正在做的,但我得到了错误cannot use the part (Favorites of Favorites.ProgramIds) to traverse the element ({Favorites: null})
var filter = Builders<UserEntity>.Filter.Eq(u => u.Id, userId);
var update = isFavorite ? Builders<UserEntity>.Update.AddToSet(u => u.Favorites.ProgramIds, id)
: Builders<UserEntity>.Update.Pull(u => u.Favorites.ProgramIds, id);
await collection.UpdateOneAsync(filter, update);