MongoDB:按ID和其他属性搜索

时间:2020-06-04 14:53:39

标签: mongodb mongodb-query mongo-shell spring-mongodb

我有Mongo文档

{
    "_id" : ObjectId("5e4c4c0935f4115dfc5540c2"),
    "code" : "ABC"
}

以及其他SO线程似乎无法对Id执行正则表达式,因为它具有hexString。所以我要用ObjectId

进行查询
@Query("{'code': {$regex : ?0, $options: 'i'}, '_id': ?1}")
Page<Pack> findByCodeAndId(String code, ObjectId objectId, Pageable pageable);

现在作为查询参数或可选参数,我在将传递的ID转换为ObjectId

之前已进行了检查
ObjectId objectId = null;
    if (ObjectId.isValid(id)) {
        objectId = new ObjectId(id);
    }

现在针对请求{code: null, id: null},我想带前10个文档,因为它们是可选的,但是当以null的形式ObjectId传递给查询时,查询不起作用

也尝试过ObjectId objectId = new ObjectId(),但是它会生成一个随机的haxString并在idnull时给出空记录

0 个答案:

没有答案