簡體   English   中英

spring數據查詢如何使用Aggregation.project方法編寫

[英]How to write spring data query using Aggregation.project method

我正在嘗試使用 Aggregation.project 方法編寫等效的 Spring 數據代碼以獲取以下階段的結果(聚合中的項目階段 - Mongo DB)

$project:
        {
          _id:0,
          'id':1,
          'displayid':1,
          'level':{'$add':[{'$size':'$childlevels'}, 1]}
        }
        

Output:

        displayId: "ABCD"
        id: 125
        level: 4
        

'level' 字段顯示(上一階段的 childlevels 的數組大小 +1)的總和結果。

我正在考慮類似下面的內容,但這並沒有給出預期的結果。

    ProjectionOperation projectStage = Aggregation.project()
            .andExclude("_id")
            .andInclude(ID)
            .andInclude(DISPLAY_ID)
            .andExpression("{'$add':[{'$size':'$childlevels'}, 1]}").as("level");
    

任何幫助表示贊賞。

您沒有提到您得到的錯誤/結果。 但這應該有效。

ProjectionOperation projectStage = Aggregation.project()
    .andExclude("_id")
    .andInclude("id")
    .andInclude("displayId")
    .and(ArithmeticOperators.Add.valueOf(ArrayOperators.Size.lengthOfArray("childlevels")).add(1)).as("level");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM