Java中Mongo Aggregate 的$match的写法

环境: MongoDB 3.0, Java Driver 3.0 

一般的查询(find()) ,用的查询条件是Filter等相关的工具类。但是这个在aggregate中的$match行不通,会报错(codec not found for Filter.and)

经过试验,发现要用如下的方法:

                List l = new ArrayList();
                l.add(new Document("its", new Document("$gt", start)));
                l.add(new Document("its", new Document("$lte", end)));
                Document timestampRange = new Document("$and", l);

然后,就可以用

 db.getCollection(collection).aggregate(
                        asList(
                                new Document("$match", timestampRange),
                                ///// 省略
                        )
);

来进行归并查询了。

你可能感兴趣的:(数据库)