簡體   English   中英

mongodb c# 更新嵌入文檔

[英]mongodb c# update embedded document

如何更新一些嵌入式文檔,例如:

我有對象:

{ 
    "_id" : ObjectId("5648c70f574b7e15b0a2ddda"), 
    "Username" : "admin@yourStore.com", 
    "Email" : "admin@yourStore.com", 
    "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;

謝謝你的幫助。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM