mongodb - L'agrégat spring-data-mongo filtre deux champs égaux
ringa_lee
ringa_lee 2017-05-02 09:23:59
0
0
1102

Lorsque vous utilisez spring-data-mongo pour les statistiques, vous devez comparer si deux champs sont égaux, comme l==qzt
tout comme la requête dans find

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

Ce code peut être interrogé
Mais lors de l'utilisation de l'agrégation spring-data-mongo, l'erreur suivante est signalée

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

Voici comment je l'utilise :

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);

Y a-t-il quelque chose qui ne va pas ? Ou existe-t-il un moyen de comparer si deux champs sont égaux ?

ringa_lee
ringa_lee

ringa_lee

répondre à tous(0)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal