4
我有一個簡單的彈簧web應用程序,它使用了mongodb。我有一個要求通過字符串搜索集合id,其中字符串應該工作正則表達式語句。我的標準創建方法看起來像這樣。Spring MongoDB按字符串搜索ID
public Criteria getSearchCriteriaQuery(String keyword, String colomnArray[]){
Criteria[] criteriaList = new Criteria[colomnArray.length];
for (int i=0; i<colomnArray.length; i++) {
criteriaList[i] = Criteria.where(colomnArray[i]).regex(keyword, "i");
}
return this.criteria.orOperator(criteriaList);
}
我的域名看起來像這樣
@Document
public class sampleDomain{
@Id
private String id;
....
}
當我使用「ID」 /「_id」作爲列名,即使我發送一個有效的字符串作爲關鍵字它不返回任何東西。我試過的示例查詢如下:
id in db - 560299fe627942619bcfdc87
keyword - 560
是否有解決方案?在此先感謝
這只是一個例子。我也在查詢其他領域。這是通過將字段名稱添加到列數組來完成的。唯一的問題是,這不適用於'id'字段。以這種方式尋找身份證是一項要求.. – Visahan
據我所知,這是行不通的。我仍然無法看到您想要查詢隨機生成值的一部分的原因。 – DBC
@DBC你看不清楚爲什麼一個普通字符串應該可以用作ID?對我來說似乎很明顯。我處於同樣的情況。我想使用簡單的字符串作爲ID和春天使非常困難,如果不是不可能的(我仍然在尋找解決方案)。但我絕對不想使用ObjectIds來存儲對象的引用。我想使用普通的字符串。 –