簡體   English   中英

如何在mongodb ObjectId字段上進行正則表達式查詢

[英]how to do a regex query on mongodb ObjectId field

這有點棘手..你如何在ObjectId字段上進行正則表達式查詢?

我正在使用java api,所以這就是我到目前為止所擁有的

BasicDBObject q = new BasicDBObject()
q.put(field, Pattern.compile(value, Pattern.CASE_INSENSITIVE));

這適用於任何常規字段。 但似乎不適用於ObjectId字段。 我假設是因為我無法將ObjectId與字符串進行比較? 並且我不能完全將部分id或正則表達式放入新的ObjectId中。 它只會拋出一個錯誤。

有什么想法嗎? 我正在嘗試為用戶提供一種輸入id的一部分的方法,並能夠使用該模式獲取所有文檔。

提前致謝!

據我所知,ObjectId在MongoDB中是一個自己的類型,並且不像字符串。 雖然MongoDB中的其他類型不同於字符串,如數組等,可以通過正則表達式模式進行搜索,但對於ObjectId來說這似乎是不可能的。 要實現像你這樣的id搜索,我可能會定義一個自己的索引id字段,其中包含一個id作為一個簡單的字符串和冷漠的ObjectId。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM