首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于MongoDB的NativeQuery聚合

基于MongoDB的NativeQuery聚合
EN

Stack Overflow用户
提问于 2016-01-20 14:24:52
回答 1查看 954关注 0票数 0

我试图在mongoDB中使用NativeQuery进行简单的聚合。有可能吗?我做了很多测试,但我找不到解决办法。查询是:

代码语言:javascript
复制
 String query = "{ $match : 
                        { dateTimestamp : 
                              { $gt : 1452380400000 , $lt :1453222518000}}
                        } ,
                    { $group : 
                    { _id : {hour:
                                { $hour : '$date'}
                             } ,
                            'myData' : { $push : '$dataUsed'}
                      }
                    },
                    { $sort : { 'dataUsed' : -1}}";


    Object resultObject = em.createNativeQuery(query,MyClass.class).getSingleResult();

错误是:“无法规范化查询: BadValue未知顶级操作符:$match”

MongoDB版本3.0

hibernate-ogm-mongodb 4.2.0

EN

回答 1

Stack Overflow用户

发布于 2016-01-20 14:41:26

您可能需要尝试“调用”MongoDB的aggregate() API:

代码语言:javascript
复制
String nativeQuery = "db.collection.aggregate(["
    + "{ $match: { dateTimestamp: { $gt: 1452380400000, $lt: 1453222518000 } } }," // WHERE
    + "{ $group: { _id: { hour: { $hour : '$date'} }, myData: { $push: '$dataUsed' } } }," // GROUP BY
    + "{ $sort : { '_id.hour': -1 } }]"; // ORDER BY

Query query = em.createNativeQuery(nativeQuery, MyClass.class);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34902657

复制
相关文章

相似问题

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