0
我有一個有趣的場景,我有一個Mongo文檔中的2級嵌入式數組,我似乎無法找出更新第二級內的元素的方法。我試過ElemMatch,但它似乎沒有工作。更新嵌入式數組MongoDB/C#
我有一個產品文檔,它有一個Attributes數組。該屬性數組有多個選項。防爆。產品可以是T恤,具有尺寸,顏色。每個屬性都可以有選項。對於例如大小有選項XS,S,M,L。現在我希望能夠根據OptionId(和/或屬性ID)更新大小選項。
這裏是我的蒙戈文件看起來像:
{
"Attributes" : [{
"_id" : ObjectId("52adf86912a4590a3cb322a5"),
"Name" : "Size",
"LabelText" : "Select your T-Shirt Size",
"Description" : "This is the Size of the T-Shirt",
"ShowOnDisplay" : true,
"Options" : [{
"_id" : ObjectId("52adf86912a4590a3cb322a6"),
"Name" : "XS",
"Value" : "XS"
}, {
"_id" : ObjectId("52adf86912a4590a3cb322a7"),
"Name" : "S",
"Value" : "S"
}],
"DateCreatedUtc" : new Date("12/15/2013 10:43:53"),
"DateModifiedUtc" : new Date("12/15/2013 10:43:53")
}],
"AvailableEndTimeUtc" : null,
"AvailableStartTimeUtc" : null,
"Name" : "CMR Dazzle T-Shirt ",
"Price" : {
"Value" : "25",
"Currency" : "USD"
},
"Sku" : "SKU7fb3a",
"_id" : ObjectId("52adf86912a4590a3cb322a4")
}
在上面的例子中,我想更新XS說「X-小」。我有屬性ID和可用的選項ID。
我試過使用ElemMatch,我試過簡單的Query.EQ(「Attributes.Options._id」),然後使用更新,沒有任何工作。與此類似,我還想刪除給定ID的選項。
我非常感謝這裏的任何幫助。