Необходимо обновить PlayerColors конкретного игрока в конкретной команде. Поэтому я подумал, что, возможно, я мог бы создать один фильтр для родительского уровня (команды) и объединить его с фильтром для дочернего уровня (
Код: Выделить всё
PlayerНо я не видел примеров, отражающих этот подход, так что, возможно, это невозможно... ?
Код: Выделить всё
var filterTeam = Builders.Filter.Eq("TeamName", "GoldDigger");
var filterPlayer = Builders
.Filter.Eq("PlayerName", "Greg");
// var combinedFilter = filterTeam & filterPlayer; // erroneous
List newColors = new List() { "peach", "periwinkle" };
UpdateDefinition updateDefinition = Builders.Update.Set(doc => doc.PlayerColors, newColors);
// collection.UpdateOne(combinedFilter, updateDefinition);
Подробнее здесь: https://stackoverflow.com/questions/797 ... parent-and
Мобильная версия