{
"_id" : 1,
"grades" : [
{ "grade" : 80, "mean" : 75, "std" : 6 },
{ "grade" : 85, "mean" : 90, "std" : 4 },
{ "grade" : 85, "mean" : 85, "std" : 6 }
]
}
{
"_id" : 2,
"grades" : [
{ "grade" : 90, "mean" : 75, "std" : 6 },
{ "grade" : 87, "mean" : 90, "std" : 3 },
{ "grade" : 85, "mean" : 85, "std" : 4 }
]
}
db.students2.update(
{ },
{ $set: { "grades.$[elem].mean" : 100 } },
{
multi: true,
arrayFilters: [ { "elem.grade": { $gte: 85 } } ]
}
)
這里的arrayFilters在java api里如何寫
網上找到最接近的寫法是
由于elementInstanceBOs是陣列結構,想要更新具體哪一個,可以用$表示陣列的下標。
Query query = new Query(Criteria.where("elementInstanceBOs.slug").is(pSlug));
Update update = new Update().set("elementInstanceBOs.$.status", pElementInstanceStatusEnum)
.set("elementInstanceBOs.$.runningCellNum", runningCell);
mongoTemplate.updateFirst(query, update, ApplicationInstanceBO.class);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/73665.html
標籤:MongoDB
上一篇:Storm多執行緒insert Mysql 導致的資料重復怎么解決?
下一篇:沒有積分求助大佬啊啊啊啊!
