Небольшой контекст: у меня есть документ для каждого пользователя, который содержит массив с последними 20 событиями, связанными с пользователем. Поскольку MongoDB не имеет этой функции (для ограничения массивов внутри документа), я перенесу свое событие и выскажу последнее.
Моя проблема: инициализация документа (или заполнение массива нулями). Я хочу атомарно:
- создать документ, содержащий массив с 20 нулевыми значениями, и нажать одно значение, если документ не существует
или
- обновить документ (выдвинуть одно значение в массиве), если документ существует
У вас есть другие предложения? Хаком, о котором я думал, было бы объявить индекс с: unique и: dropDups и всегда делать инициализационную вставку.
Относится к: Реализация массива MongoDB с фиксированным размером