我正在尝试使用mongojava驱动程序执行一个批量操作,主要思想是在id为null时插入文档,或者以其他方式更新。插入操作正在工作,但是当它涉及到更新时,更改没有被应用(我已经尝试了一个upsert操作,但是没有工作)。
这是我的密码:
public BulkWriteResult bulkStockUnitUpsert(List<StockUnit>stockUnits) {
BulkOperations ops = mongoOperations.bulkOps(BulkMode.UNORDERED, StockUnit.class);
for (StockUnit stockUnit : stockUnits) {
if(stockUnit.getId() != null) {
Query query = new Query();
query.addCriteria(Criteria.where("_id").is(stockUnit.getId()));
Update update = new Update();
update.set("price", stockUnit.getPrice());
update.set("product", stockUnit.getProduct().getId());
update.set("quantity", stockUnit.getQuantity());
update.set("sku", stockUnit.getSku());
update.set("variant", stockUnit.getVariant());
ops.updateOne(query, update);
} else {
ops.insert(stockUnit);
}
}
return ops.execute();
}
暂无答案!
目前还没有任何答案,快来回答吧!