[英]How to convert custom Mongo DB update query to Java code
我在互聯網上發現如何用小寫更新所有文檔字段值。 我很幸運地找到了一個根據我的要求修改的查詢,它工作正常。
db.messages.updateMany({},
[
{
$set: {
recipientEmail: {
$toUpper: '$recipientEmail'
},
senderEmail: {
$toUpper: '$senderEmail'
}
}
}
],{ multi: true })
但是現在我試圖將此查詢轉換為 Java 代碼,我無法轉換它。 我再次開始尋找互聯網,但找不到任何代碼。 那么,誰能幫我將此查詢轉換為 Java 代碼,以便我可以在 Spring 啟動應用程序中使用它? 提前致謝。
您可以在存儲庫接口中使用 @Query 注釋並按原樣傳遞您的查詢(在方法簽名上方)。 這是一個例子:
@Query("{$and:["
+ " {'id': ?0},"
+ " {$or:["
+ " {'customerId': ?1},"
+ " {'specificCode': ?4}"
+ " ]},"
+ " {'beginDate' : { $gte: ?2}},"
+ " {$or:["
+ " {'endDate' : { $lte: ?2}},"
+ " {'endDate' : {$exists: false}}"
+ " ]},"
+ " {'numberOfTimesUsed': { $lt: ?3}}"
+ "]}")
你可以嘗試這樣的事情:
Query query = new Query();
Update update = new Update();
update.set("recipientEmail", StringOperators.valueOf("recipientEmail").toUpper());
update.set("senderEmail", StringOperators.valueOf("senderEmail").toUpper());
mongoTemplate.updateMulti(query, update, Messages.class);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.