MongoDB: upsert com valores diferentes para atualização e inserção
Um pouco de contexto: tenho um documento para cada usuário que contém uma matriz com os últimos 20 eventos relacionados a um usuário. Como o MongoDB não possui esse recurso (para limitar matrizes dentro de um documento), pressionarei meu evento e exibirei o mais recente.
Meu problema: inicializar o documento (também conhecido como preenchimento de matriz com valores nulos). Eu quero atomicamente:
crie um documento contendo uma matriz com 20 valores nulos e pressione um valor, se o documento não existirou
atualizar documento (pressione um valor na matriz), se o documento existirVocê tem alguma outra sugestão? Um truque em que pensei seria declarar um índice com: unique e: dropDups, e sempre fazer uma inserção de inicialização.
Relacionado a:Implementação de matriz de tamanho fixo do MongoDB