【发布时间】:2011-04-10 16:03:05
【问题描述】:
这有点棘手..如何对 ObjectId 字段进行正则表达式查询?
我正在使用 java api,所以这是我目前所拥有的
BasicDBObject q = new BasicDBObject()
q.put(field, Pattern.compile(value, Pattern.CASE_INSENSITIVE));
这适用于任何常规字段。但似乎不适用于 ObjectId 字段。我假设是因为我无法将 ObjectId 与字符串进行比较?而且我不能只是将部分 id 或正则表达式放入新的 ObjectId 中。它只会抛出一个错误。
对此有什么想法吗?我正在尝试为用户提供一种输入部分 id 的方法,并能够取回具有该模式的所有文档。
提前致谢!
【问题讨论】:
-
用正则表达式搜索objectid真的没有任何意义。