У нас есть 3 коллекции для отслеживания автомастерской.
PARTS
дает общее количество предметов против shopID
Нам нужно подтвердить, равна ли сумма предметов в INPROCESS
и REJECT
количеству. в PARTS
для магазина.
Тем не менее, мы go рассмотрим REJECT
- ТОЛЬКО если INPROCESS
не равно количеству, тем самым экономя поиск.
Как этого добиться.
PARTS
{
"_id": ObjectId("xxxxxx"),
"shop": "Q4",
"count": 200,
}
INPROCESS
{
"_id": ObjectId("xxxxxx"),
"shop": "Q4",
"itemID": "5647",
},
{
"_id": ObjectId("xxxxxx"),
"shop": "Q4",
"itemID": "2314",
},
REJECTED
{
"_id": ObjectId("xxxxxx"),
"shop": "Q4",
"itemID": "xxxx",
},
{
"_id": ObjectId("xxxxxx"),
"shop": "Q4",
"itemID": "yyyy",
},