mongodb - spring-data-mongo aggregate 篩選兩個欄位相等
ringa_lee
ringa_lee 2017-05-02 09:23:59
0
0
1112

在使用spring-data-mongo做統計時,需要比較兩個欄位是否相等,例如 l==qzt
就像find中查詢

db.dbName.find({$where:"this.l=this.qzt"})

這段程式碼是能查詢出來的
但是在使用spring-data-mongo Aggregation的時候 就報以下錯誤

"errmsg" : "$where is not allowed inside of a $match aggregation expression" , "code" : 16395

我是這樣用的:

Criteria c = Criteria.where("$where").is("this.qzt==this.l");
Aggregation agg =Aggregation.newAggregation(
    Aggregation.match(c),
    Aggregation.group("qzc").count().as("z"),
    Aggregation.project("z").and("qzc").previousOperation(),
    Aggregation.sort(Sort.Direction.DESC, "z")
);
List<Events2> results = events2Data.agreagate(agg);

請問各位是哪裡有錯嗎,或者,有什麼方法能比較一下兩個字段是否相等嗎?拜謝~

ringa_lee
ringa_lee

ringa_lee

全部回覆(0)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板