使用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
可以更改。我可以做一些事情来保持第一个值来做第二个查询,但如果可能的话,我更愿意这样做。
有可能吗?