*这是我的示例集合,我正在为所有活动状态创建一个视图,我需要用空值替换所有包含单词“ confirm / not”的_subjects.V。
我尝试将$ addfields /项目与过滤器一起使用,它要么删除元素,要么为所有元素添加空值。
基于K和V值的组合,我可能还需要添加更多类似的更改。 *
{
_id: 1,
_status: "active",
_subjects: [{
"K": "Maths",
"V": "M010"
},
{
"K": "Maths",
"V": "M010"
},
{
"K": "Maths",
"V": "M011"
},
{
"K": "Maths",
"V": "M020"
},
{
"K": "Maths",
"V": "M050"
},
{
"K": "Science",
"V": "SC10"
},
{
"K": "Science",
"V": "SC99"
},
{
"K": "Science2",
"V": "Yet to confirm"
},
{
"K": "Science2",
"V": "Not available"
},
{
"K": "English",
"V": "EN010"
},
],
_schedule: {
"start": ISODate("2019-01-01T00:00:00.000+0000"),
"end": ISODate("2020-01-01T00:00:00.000+0000"),
_sessions: [{
"days": ["2019-01-02",
"2019-01-05"]
},
{
"optional": ["EN010"]
}]
}
},
{
_id: 2,
_status: "active",
_subjects: [{
"K": "Maths",
"V": "M010"
},
{
"K": "Maths",
"V": "M030"
},
{
"K": "Maths",
"V": "M021"
},
{
"K": "Maths",
"V": "Yet to confirm"
},
{
"K": "Maths",
"V": "M050"
},
{
"K": "Science",
"V": "SC10"
},
{
"K": "Science",
"V": "SC99"
},
{
"K": "Science2",
"V": "Yet to confirm"
},
{
"K": "Science2",
"V": "Not available"
}],
_schedule: {
"start": ISODate("2018-01-01T00:00:00.000+0000"),
"end": ISODate("2020-01-01T00:00:00.000+0000"),
_sessions: [{
"days": ["2018-011-02",
"2019-02-01",
"2019-06-03"]
},
{
"optional": []
}]
},
{
_id: 4,
_status: "expired",
_subjects: [{
"K": "Maths",
"V": "M010"
}],
_schedule: {
"start": ISODate("2015-01-01T00:00:00.000+0000"),
"end": ISODate("2016-01-01T00:00:00.000+0000"),
_sessions: [{
"days": []
},
{
"optional": []
}]
}
}