Выдвигайте и извлекайте элементы в массив в одном запросе с помощью mongodb
С Mongoid я пытаюсь сделать:
models.update_all({
'$pullAll' => { category_ids: removed_category_ids },
'$addToSet' => { category_ids: { '$each' => added_category_ids } }
})
У меня есть это сообщение об ошибке:
Mongo::Error::OperationFailure:
Cannot update 'category_ids' and 'category_ids' at the same time (16837)
Я понимаю ошибку, но есть ли способ сделать эти два запроса только в одном запросе. Я знаю, что могу сделать что-то вроде:
models.update_all({ '$pullAll' => { category_ids: removed_category_ids } })
models.update_all({ '$addToSet' => { category_ids: { '$each' => added_category_ids } } })
но он делает два звонка и models
мог измениться Я могу сделать что-то, чтобы оставить первое значение для второго запроса, но я бы предпочел сделать то же самое, если это возможно.
Является ли это возможным?