mongodb and 和 or 查询
<p>db.getCollection('gxyWarnEntity').find({ "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "594f724d6974c107bd702cc6ef39183a", "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] })</p><p> </p>
<p>java:</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)">public</span> List<GxyWarnEntity><span style="color: rgba(0, 0, 0, 1)">selectWarnPage(GxyWarnEntitygxyWarnEntity){
Criteria cri </span>=Criteria.where("schoolId"<span style="color: rgba(0, 0, 0, 1)">).is(gxyWarnEntity.getSchoolId());
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getBatchId()!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">) {
cri.and(</span>"batchId"<span style="color: rgba(0, 0, 0, 1)">).is(gxyWarnEntity.getBatchId());
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getDepId()!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){
cri.and(</span>"depId"<span style="color: rgba(0, 0, 0, 1)">).is(gxyWarnEntity.getDepId());
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getWarningType()!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){
cri.and(</span>"warningType"<span style="color: rgba(0, 0, 0, 1)">).is(gxyWarnEntity.getWarningType());
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getStudentName()!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){
cri.orOperator(Criteria.where(</span>"studentName"<span style="color: rgba(0, 0, 0, 1)">).regex(gxyWarnEntity.getStudentName()),
Criteria.where(</span>"teacherName"<span style="color: rgba(0, 0, 0, 1)">).regex(gxyWarnEntity.getStudentName())
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">,Criteria.where("classTeacherName").regex(gxyWarnEntity.getStudentName())</span>
<span style="color: rgba(0, 0, 0, 1)"> );
}
Query query </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Query(cri);
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (gxyWarnEntity.getCurrPage() != <span style="color: rgba(0, 0, 255, 1)">null</span> && gxyWarnEntity.getPageSize() != <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">) {
query.skip((gxyWarnEntity.getCurrPage()</span>-1)*<span style="color: rgba(0, 0, 0, 1)">gxyWarnEntity.getPageSize())
.limit(gxyWarnEntity.getPageSize());
}
</span><span style="color: rgba(0, 0, 255, 1)">return</span> template.find(query, GxyWarnEntity.<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)">);
}</span></pre>
</div>
<p> </p>
<p> </p>
<p>and: </p>
<p>db.getCollection('gxyWarnEntity').find({ "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "", "$and" : [{ "warningType" : { "$gte" : 1 } }, { "warningType" : { "$ne" : 4 } }], "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] })</p>
<p> </p>
<p>{ "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "", "$and" : [{ "warningType" : { "$gte" : 1 } }, { "warningType" : { "$ne" : 4 } }], "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] } fields: Document{{}} for class: class com.zhangtao.moguding.practiceservice.entity.GxyWarnEntity in collection: gxyWarnEntity<br>2019-10-15 09:52:17.819 DEBUG 13028 --- o.s.data.mongodb.core.MongoTemplate : Executing count: { "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "", "$and" : [{ "warningType" : { "$gte" : 1 } }, { "warningType" : { "$ne" : 4 } }], "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] } in collection: gxyWarnEntity</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)">public</span> List<GxyWarnEntity><span style="color: rgba(0, 0, 0, 1)">selectWarnPage(GxyWarnEntitygxyWarnEntity){
Criteria cri </span>=Criteria.where("schoolId"<span style="color: rgba(0, 0, 0, 1)">).is(gxyWarnEntity.getSchoolId());
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getBatchId()!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">) {
cri.and(</span>"batchId"<span style="color: rgba(0, 0, 0, 1)">).is(gxyWarnEntity.getBatchId());
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getDepId()!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){
cri.and(</span>"depId"<span style="color: rgba(0, 0, 0, 1)">).is(gxyWarnEntity.getDepId());
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getWarningType()!=<span style="color: rgba(0, 0, 255, 1)">null</span> && gxyWarnEntity.getWarningType() !=<span style="color: rgba(0, 0, 0, 1)"> EnumUnsignType.UNSIGNONE.getType()){
<strong>cri.andOperator(
Criteria.where(</strong></span><strong>"warningType"<span style="color: rgba(0, 0, 0, 1)">).gte(gxyWarnEntity.getWarningType()),
Criteria.where(</span>"warningType"</strong><span style="color: rgba(0, 0, 0, 1)"><strong>).ne(EnumUnsignType.UNSIGNONE.getType())
);</strong>
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(gxyWarnEntity.getStudentName()!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){
<strong>cri.orOperator(Criteria.where(</strong></span><strong>"studentName"<span style="color: rgba(0, 0, 0, 1)">).regex(gxyWarnEntity.getStudentName()),
Criteria.where(</span>"teacherName"<span style="color: rgba(0, 0, 0, 1)">).regex(gxyWarnEntity.getStudentName())
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">,Criteria.where("classTeacherName").regex(gxyWarnEntity.getStudentName())</span>
</strong><span style="color: rgba(0, 0, 0, 1)"><strong> );</strong>
}
Query query </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Query(cri);
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (gxyWarnEntity.getCurrPage() != <span style="color: rgba(0, 0, 255, 1)">null</span> && gxyWarnEntity.getPageSize() != <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">) {
query.skip((gxyWarnEntity.getCurrPage()</span>-1)*<span style="color: rgba(0, 0, 0, 1)">gxyWarnEntity.getPageSize())
.limit(gxyWarnEntity.getPageSize());
}
</span><span style="color: rgba(0, 0, 255, 1)">return</span> template.find(query, GxyWarnEntity.<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)">);
}</span></pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/z360519549/p/11635366.html
頁:
[1]