Tag: 聚合框架

MongoDB,Java,按第一个数组条目排序

我正在尝试通过Java API在MongoDB上执行查找后对值进行排序。 结果列表包含以下条目: { “_id”: “P17-223”, “property”: “P17”, “itemid”: 223, “labels”: [ { “language”: “en”, “value”: “Greenland” }, { “language”: “es”, “value”: “Groenlandia” }, { “language”: “de”, “value”: “Grönland” } ] } 我想按数组标签的第一个条目排序: DBCursor cursor = getCollection().find(query); BasicDBObject orderBy = new BasicDBObject(“labels[0].value”, 1); cursor.sort(orderBy); 此代码不对游标值进行排序。 你能帮助我吗?

Mongodb聚合框架中是否有底层函数?

我尝试在mongodb中做一些整数数学并遇到一些问题。 有没有办法在mongo db聚合框架中向上或向下舍入双打?

使用Java驱动程序进行MongoDB聚合

我需要你帮助将MongoDB聚合框架与java驱动程序一起使用。 即使有这个文档 ,我也不明白如何编写我的请求。 我想从我的collections中的所有项目中获取200个最早的视图。 这是我的mongo查询(在控制台模式下工作方式如下): db.myCollection.aggregate( {$unwind : “$views”}, {$match : {“views.isActive” : true}}, {$sort : {“views.date” : 1}}, {$limit : 200}, {$project : {“_id” : 0, “url” : “$views.url”, “date” : “$views.date”}} ) 此集合中的项目具有一个或多个视图。 我的问题不是请求结果,我想知道java语法。

如何在spring mongodb中检索数组中的匹配元素?

我试图检索具有特定“_id”的文档和具有另一个特定“_id”的单个嵌入文档。 我的文档代表一个目录,它包含一系列课程。 示例数据: ‘_id’: ObjectId(‘1111’), ‘name’: ‘example catalog’, … … ‘courses’: [ { ‘_id’: ObjectId(‘2222’), ‘name’: ‘my course’, … }, { …. } 在mongod中我运行这个聚合查询,然后回到我想要的: db.getCollection(‘catalogs’).aggregate( { $match: { ‘_id’: ObjectId(’58e8da206ca4f710bab6ef74′) } }, { $unwind: ‘$courses’ }, { $match: { ‘courses._id’: ObjectId(’58d65541495c851c1703c57f’) } }) 正如我之前提到的,我已经找回了单个目录实例,其中包含一个课程实例。 在我的java回购中,我试图做同样的事情: Aggregation aggregation = Aggregation.newAggregation( Aggregation.match(Criteria.where(Catalog.ID_FIELD).is(catalogId)), Aggregation.unwind(Catalog.COURSES_FIELD, true), Aggregation.match(Criteria.where(Catalog.COURSES_FIELD + ‘.’ […]