首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring-data-mongodb重写'and‘条件的MongoDB投影查询

使用Spring-data-mongodb重写'and‘条件的MongoDB投影查询
EN

Stack Overflow用户
提问于 2019-05-20 01:24:07
回答 1查看 61关注 0票数 0

如何使用spring-data-mongodb重写这个投影查询?我遇到的主要问题是$and运算符。

查询:

代码语言:javascript
复制
{
 $project: {
  "_id": 1,
  "totalAmount": {
   $cond: [{
    $and: [{
     $eq: ["$type", "entity"]
    }, {
     $eq: ["$status", "ACTIVE"]
    }]
   }, "$amount", 0]
  },
 }
}

我写了

代码语言:javascript
复制
ConditionalOperators.Cond operator = ConditionalOperators
.when(new Criteria()      
.andOperator(Criteria.where("type").is("entity") , Criteria.where("status").is("ACTIVE")))
.thenValueOf("amount").otherwise(0.0);

ProjectionOperation projectionOperationNavLogs = project().and("_id").as("_id").and(operator).as("totalAmount"); 

但这不是相同的查询

EN

回答 1

Stack Overflow用户

发布于 2019-05-20 20:21:50

引用自$cond documentation

$cond表达式具有以下两种语法之一:

{ $cond:{ if:,then:,else:}}

{ $cond:,,}

生成的查询使用更冗长的语法这一事实不是问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56210284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档