这有点棘手..如何对 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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)