jjzjj

aggregation

全部标签

node.js - MongoDB 聚合总和增长

我有一个MondoDB聚合管道,它通过聚合所有Sales来输出每日收入:Sale.aggregate([{$project:{day:{$substr:['$createdAt',0,10],},},},{$group:{_id:'$day',earnings:{$sum:'$pricing.earnings'},},},{$sort:{_id:1}},{$project:{date:'$_id',earnings:'$earnings',},},{$group:{_id:null,stats:{$push:'$$ROOT'},}},{$project:{stats:{$map:{//

java - 使用 MongoTemplate 获取排序的不同值

我正在尝试获取已排序的不同字段的列表:publicListgetDistinctValues(Stringcollection,StringfieldName){Queryquery=newQuery();query.with(newSort(Sort.Direction.ASC,fieldName));returnmongoTemplate.findDistinct(query,fieldName,collection,Object.class);}但不应用排序。有什么办法可以用mongoTemplate来实现吗?spring-boot-starter-data-mongodb:2.

java - 使用 spring-data-mongodb 流式传输聚合操作的结果

我正在使用spring-data-mongodb,我想使用游标进行聚合操作。MongoTemplate.stream()获取查询,因此我尝试创建聚合实例,使用Aggregation.toDbObject()DbObjectem>,使用DbObject创建了一个BasicQuery,然后调用stream()方法。这将返回一个空游标。调试spring-data-mongodb代码显示MongoTemplate.stream()使用FindOperation,这让我觉得spring-data-mongodb不支持流聚合操作。有没有人能够使用spring-data-mongodb流式传输聚合查

mongodb - 从 $lookup 中获取数组中元素的过滤计数以及整个文档

我在MongoDB中有这个查询:db.emailGroup.aggregate([{"$lookup":{"from":"link","localField":"_id","foreignField":"emailGroupId","as":"link"},},{"$unwind":"$link"},{"$match":{'link.originalLink':""}},{"$group":{_id:'$_id',link:{$push:'$link'}}},{"$project":{"size":{"$sum":{"$map":{"input":"$link","as":"l","i

使用 $project 和 $sort 的 MongoDb 聚合查询

我的MongoDb集合如下{"_id":ObjectId("5a187babdbf0a03cdca0d0bc"),"aggregationDate":"2017-10-31","ipaddress":"10.65.66.184","first":{"count":3},"second":{"count":2},"third":{"count":3},}{"_id":ObjectId("5a187babdbf0a03cdca0d0bd"),"aggregationDate":"2017-10-31","ipaddress":"10.65.66.182","first":{"count":

node.js - 如何将 mongoDB 与 Node 一起使用

当我运行脚本时,错误返回。TypeError:db.collectionisnotafunctionvarMongoClient=require('mongodb').MongoClient;varurl="mongodb://abc:12345**@xxxx.mlab.com:&&&&/myDB";MongoClient.connect(url,function(err,db){if(err){console.log(err);}else{console.log("Databasecreated!");db.collection('users').aggregate([{'$matc

MongoDB 聚合 : Aggregate array into keyed objects

我想使用聚合功能将文档数组展平为键控对象。这是我的文档示例:[{"_id":1,"texts":[{"language":"english","text":"hello"},{"language":"german","text":"hallo"},{"language":"french","text":"bonjour"}]},…]预期结果:[{"_id":1,"texts":{"english":"hello","german":"hallo","french":"bonjour"}},…]我研究过不同的运算符,例如$map,但这似乎专注于将数组转换为数组。我可能需要一个与$redu

javascript - 来自 aggregate() 和 find() 的 promise 以及用于 NodeJS 的 MongoDB 驱动程序

我经常读到NodeJS的MongoDB驱动程序(>2.0)支持promises。但我找到的唯一示例是connect()和findOne()函数。虽然它适用于那些并且我可以得到promise,但它不适用于aggregate()或find()。我知道那是因为他们可能会返回游标,但由于有promise支持,这些promise在哪里?必须有办法与他们合作。非常欢迎链接、示例或简单的解释:)谢谢,乔迪。 最佳答案 将find()或aggregate()的结果链接到.toArray()。当前mongodbnodejs驱动程序的toArray文档

MongoDB Aggregation 添加下一个文档(一个 Meteor App)

下面是我的发布函数,它几乎是AverageAggregationQueriesinMeteor的副本用途:显示文档列表。然后用户可以单击一项(餐厅)并可以查看详细信息。在详细信息中有上一个和下一个箭头,可以在列表中循环。我的想法是使用该聚合方法通过上一个和下一个文档ID丰富每个文档,这样我就可以轻松构建我的上一个和下一个链接。但是怎么办?我不知道。也许有更好的方法?Meteor.publish("restaurants",function(coords,options){if(coords==undefined){returnfalse;}if(options==undefined){

php - Symfony mongo-odm-aggregation-bundle 求和

首先,我不得不说我是mongo(3.2)的新手。我正在使用mongo-odm-aggregation-bundle适用于php框架Symfony(2.8.4)。我想获得受日期限制的某些字段的总和。到目前为止,我设法获得了所有记录的总和:$expr=new\Solution\MongoAggregation\Pipeline\Operators\Expr;$aq=$this->manager->getCollection('AppBundle:UserDaySums')->createAggregateQuery()->group(['_id'=>'client.$id','total'