У меня есть 2 разных массива, как показано ниже:
id: 100,
a: [
{date: '2018-09-03', aa: 0},
{date: '2018-09-04', aa: 0},
{date: '2018-09-05', aa: 0},
],
b: [
{date: '2018-09-03', bb: 0},
{date: '2018-09-04', bb: 0},
{date: '2018-09-05', aa: 0},
]
Мне нужно увеличить aa на 10 и bb на 20 . Вот и я так делаю:
{$and: [
{id: 100},
{a: {$elemMatch: {date: '2018-09-04'}}},
{b: {$elemMatch: {date: '2018-09-04'}}},
]}, {
$inc: {
"a.$.aa": 10,
"b.$.bb": 20
}
}
Проблема в том, что elemMatches не работают, они берут первые элементы массивов. В этом примере: «2018-09-03» вместо «2018-09-04».