Агрегирование полей против MIN (цена) с MongoDb - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь оценить MongoDb для сценария specfi c, где каждый поиск будет go через 25 тыс. Записей, и я хотел бы получить обратную связь, если это возможно, от любого, кто имеет опыт в этом, чтобы проверить, если это возможно реализовать. Упрощенная структура документа выглядит следующим образом:

{ 
    searchId: '110',
    productId: 1,
    category: 'ABC',
    subCategory: 'FFF',
    color: 'black',
    price: {
        net: 122.00,
    }
},
{ 
    searchId: '110',
    productId: 2,
    category: 'ABC',
    subCategory: 'SUB22',
    color: 'white',
    price: {
        net: 140,
    }
},
{ 
    searchId: '110',
    productId: 3,
    category: 'ABC',
    subCategory: 'SUB22',
    color: 'white',
    price: {
        net: 5,
    }
}

 ... + 25k documents

Я хотел бы выполнить фильтрацию / агрегацию в этой коллекции по идентификатору поиска (это самая простая часть), фильтрующему некоторые поля, но у меня Трудно найти такой результат для агрегации (даже если это два разных вызова) некоторых полей против минимальной цены. (МИН. (Цена. net))

Ожидаемый результат:

products: [ ...product1, ...product2],
summary: [
    category: [
        'ABC': 5,
    ],
    subCategory: [
        'FFF': 122,
        'SUB22': 5
    ],
    color: [
        'black': 122,
        'white': 5
    ]
]

Кто-нибудь может помочь с этим?

...