栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

查询与mongodb中的条件匹配的文档及其所有子文档(使用spring)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

查询与mongodb中的条件匹配的文档及其所有子文档(使用spring)

您需要利用spring mongo数据依赖项中提供的MongoTemplate。当前发行版中没有对$
filter的现成支持。利用Aggressionexpression。在项目中包括以下投影。使用1.8.5 Spring mongo数据版本。

Aggregation aggregation = newAggregation(        match(Criteria.where("_id").is(1)),        project( "_id", "sensorName", "samplePeriod").and(new Aggregationexpression() { @Override public DBObject toDbObject(AggregationOperationContext aggregationOperationContext) {     DBObject filter = new BasicDBObject("input", "$data").append("as", "result").append("cond",  new BasicDBObject("$and", Arrays.<Object> asList(new BasicDBObject("$gte", Arrays.<Object> asList("$$result.timestamp", 1483537204000L)),          new BasicDBObject("$lte", Arrays.<Object> asList("$$result.timestamp", 1483537214000L)))));     return new BasicDBObject("$filter", filter); }        }).as("data"));List<BasicDBObject> dbObjects = monoTemplate.aggregate(aggregation, "collectionname", BasicDBObject.class).getMappedResults();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573858.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号