mongodb c # обновить встроенный документ

2

Как я могу обновить некоторые встроенные документы, например:

У меня есть объект:

{ 
    "_id" : ObjectId("5648c70f574b7e15b0a2ddda"), 
    "Username" : "[email protected]", 
    "Email" : "[email protected]", 
    "ShoppingCartItems" : [
        {
            "ProductId" : NumberInt(4), 
            "AdditionalShippingChargeProduct" : NumberInt(0), 
        }, 
        {
            "ProductId" : NumberInt(4), 
            "AdditionalShippingChargeProduct" : NumberInt(0), 
        },
        {
            "ProductId" : NumberInt(5), 
            "AdditionalShippingChargeProduct" : NumberInt(0), 
        },
    ], 
}

Мне нужно обновить поле AdditionalShippingChargeProduct = 5, но только там, где ProductId равно 4.

Этот код обновляет только первую позицию, мне нужно обновить все соответствующие позиции.

    var builder = Builders<Customer>.Filter;
    var filter = builder.ElemMatch(x => x.ShoppingCartItems, y => y.ProductId == 4);
    var update = Builders<Customer>.Update
        .Set("ShoppingCartItems.$.AdditionalShippingChargeProduct", 5);

    var result = customer.UpdateManyAsync(filter, update).Result;

Спасибо за любую помощь.

Теги:

1 ответ

-1

{ShoppingCartItems.ProductId: 4}, {$ set: {"ShoppingCartItems. $. AdditionalShippingChargeProduct": 6}}

  • 0
    Этот комментарий может быть связан с дополнительным комментарием и правильным форматированием кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню