什么样的 Java 类型传递给 Criteria.all()?
What kind of Java type to pass into Criteria.all()?
我正在尝试查找包含与值列表匹配的标签数组的文档,
通过 Spring Data MongoDB API for all().
使用 MongoDB 的 $all 函数
标签是一个嵌入文档,有两个字段:类型和值。
我不确定要将哪种 Java 类型传递给该方法,因为它接受一个对象数组,试图将一个 Criteria 对象数组传递给函数,但输出如下:
Query: { "tags" : { "$all" : [ { "$java" : org.springframework.data.mongodb.core.query.Criteria@5542c4fe }, { "$java" : org.springframework.data.mongodb.core.query.Criteria@5542c4fe } ] } }, Fields: { }, Sort: { }
我应该如何进行?
我想实现以下目标:
db.template.find( { tags: { $all: [ {type:"tagOne", value: "valueOne"}, {type:"tagTwo", value: "valueTwo"} ] } } )
为清楚起见进行了编辑:
我使用的代码类似于:
Query query = new Query(baseCriteria.and("tags").all( criteriaList.toArray()))
条件列表由以下内容组成:
Criteria criteria = new Criteria();
criteria.and("type").is(tag.getType()).and("value").is(tag.getValue());
criteriaList.add(criteria);
好的,我刚刚发现,所需的 Java 类型是 org.bson.Document,您可以使用:
criteria.getCriteriaObject()
我正在尝试查找包含与值列表匹配的标签数组的文档, 通过 Spring Data MongoDB API for all().
使用 MongoDB 的 $all 函数标签是一个嵌入文档,有两个字段:类型和值。
我不确定要将哪种 Java 类型传递给该方法,因为它接受一个对象数组,试图将一个 Criteria 对象数组传递给函数,但输出如下:
Query: { "tags" : { "$all" : [ { "$java" : org.springframework.data.mongodb.core.query.Criteria@5542c4fe }, { "$java" : org.springframework.data.mongodb.core.query.Criteria@5542c4fe } ] } }, Fields: { }, Sort: { }
我应该如何进行?
我想实现以下目标:
db.template.find( { tags: { $all: [ {type:"tagOne", value: "valueOne"}, {type:"tagTwo", value: "valueTwo"} ] } } )
为清楚起见进行了编辑:
我使用的代码类似于:
Query query = new Query(baseCriteria.and("tags").all( criteriaList.toArray()))
条件列表由以下内容组成:
Criteria criteria = new Criteria();
criteria.and("type").is(tag.getType()).and("value").is(tag.getValue());
criteriaList.add(criteria);
好的,我刚刚发现,所需的 Java 类型是 org.bson.Document,您可以使用:
criteria.getCriteriaObject()