第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么 Spring Data MongoDB 拒絕聚合管道中包含 $ 的字段名稱?

為什么 Spring Data MongoDB 拒絕聚合管道中包含 $ 的字段名稱?

三國(guó)紛爭(zhēng) 2022-07-06 18:43:06
使用 Spring Data 的ProjectionOperation類在 MongoDB 上創(chuàng)建聚合查詢時(shí),使用帶有“$”(例如“test$”)字符的字段會(huì)導(dǎo)致IllegalArgumentException驗(yàn)證 spring 數(shù)據(jù) mongodb 源時(shí),我注意到在AggregationField類的構(gòu)造函數(shù)中執(zhí)行了字段名稱的清理。Fields.java 類private static String cleanUp(String source) {    if (Aggregation.SystemVariable.isReferingToSystemVariable(source)) {        return source;    }    int dollarIndex = source.lastIndexOf('$');    return dollarIndex == -1 ? source : source.substring(dollarIndex + 1);}MongoDB 中字段的命名不鼓勵(lì)使用“$”字符,或者這是 Spring Data 問(wèn)題?
查看完整描述

2 回答

?
滄海一幻覺(jué)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

參考文檔明確指出,官方 MongoDB 驅(qū)動(dòng)程序目前不支持它:

重要的

MongoDB 查詢語(yǔ)言不能總是有意義地表達(dá)對(duì)字段名稱包含這些字符的文檔的查詢(請(qǐng)參閱 SERVER-30575)。在查詢語(yǔ)言中添加支持之前,使用 $ 和 . 不推薦使用 in 字段名稱,官方 MongoDB 驅(qū)動(dòng)程序也不支持。{引用}

即 Spring Data 不能支持它,直到支持它成為官方 Java 驅(qū)動(dòng)程序。


查看完整回答
反對(duì) 回復(fù) 2022-07-06
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

這似乎是一個(gè)Spring數(shù)據(jù)Mongodb的問(wèn)題......你的字段名應(yīng)該是允許的。

您可以在字段名稱中使用任何不特殊的 (UTF8) 字符(包含“.”或以“$”開(kāi)頭)。

您可以嘗試使用BasicDBObject構(gòu)建您的項(xiàng)目操作。這是一個(gè)示例:如何在 Spring Data MongoDB 中使用 $arrayElemAt 運(yùn)算符


查看完整回答
反對(duì) 回復(fù) 2022-07-06
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)