草庐IT

指标聚合

全部标签

node.js - MongoDB:在下一阶段使用从聚合管道返回的数组进行 $in 查询

正如问题标题所说,我正在尝试使用从$match阶段返回的数组字段来查询下一阶段中的另一个集合,使用$lookup和$in运算符检索至少具有一个类别的所有文档在这个数组里面。(顺便说一句,我在Node中使用Mongoose)我想通过“_id”匹配具有此简化模式的“配置”集合:{title:{type:String,required:true},categories:{allow:{type:Boolean,required:true},list:[{name:{type:String,required:true},//DENORMALIZEDCATEGORYNAME_id:{type:m

mongodb - 如何在 MongoDB 中使用数组位置 $ 和聚合投影

当revisions是一个对象(键是entryId)时,我有一个聚合调用正在工作。awaitProject.aggregate([{$limit:1},{$match:{_id:ObjectId(projectId)}},{$project:{limits:1,revisions:{$slice:[`$revisions.${entryId}.${languageId}`,startIndex,PageSize]},totalRevisions:{$size:{$ifNull:[`$revisions.${entryId}.${languageId}`,[]]},},},},]);现在

javascript - 如何在 Mongoose 聚合中找到平均值

我正在汇总来自3个集合的数据-用户-[{"_id":"5bc425bb3e99c8269ce51faa","fname":"Akash","salary":25000,"age":23,"__v":0},{"_id":"5bc425e23e99c8269ce51fab","fname":"Aditya","salary":20000,"age":28,"__v":0}]余额-[{"_id":"5bc4349adcc885e047054466","fname":"Akash","balance":4000},{"_id":"5bc434ffdcc885e0470544c2","fname

mongodb - 如何在 MongoDB 聚合方法中连接一个整数数组?

我在mongodb文档中有一个字段,它是一个整数数组,如下所示:import_ids=[5200,4710,100]我想要这个数组作为双##分隔的字符串,所以预期的结果是import_hashed="5200##4710##100"我已经尝试在聚合方法的$project管道中使用以下代码。{$projct:{import_hashed:{$reduce:{input:"$import_ids",initialValue:"",in:{$concat:["$$value","##","$$this"]}}}}}但是没有找到结果,也没有错误! 最佳答案

mongodb - 查找使用 _id 不适用于聚合

这个问题在这里已经有了答案:Moongooseaggregate$matchdoesnotmatchid's(5个答案)关闭4年前。我是mongodb的初学者,我正在尝试在node.js应用程序中使用mongoose编写查询:constobjectIdValue=secondId.valueOf();constexistedRelation=awaitthis.model.aggregate([{$match:{_id:firstId}},{$project:{relations:{$filter:{input:'$links',as:'link',cond:{$and:[{$eq:[

node.js - Mongo 和 Node.js 查找和聚合

我正在使用Node.js和MongoDB,我需要同时使用“查找”和“聚合”功能。例如:varmongo=require('mongodb')mongo.MongoClient.connect(uri,{useNewUrlParser:true},function(errorConectDB,client){dbo.collection(this._objectName).find(query,options).aggregate(agr).toArray(function(err,res){....})})但是,当我执行我的代码时出现以下错误:TypeError:dbo.collect

node.js - 具有 $lookup 聚合的多条件

我正在考虑使用最佳实践来解决Mongoose的以下问题。我有三个模式:constSchemaA=newSchema({name:String});constSchemaB=newSchema({schemaA:{type:Schema.Types.ObjectId,ref:'SchemaA',required:true}});constSchemaC=newSchema({schemaB:{type:Schema.Types.ObjectId,ref:'SchemaB'},user:{type:Schema.Types.ObjectId,ref:'User'}});我需要通过附加了sc

mongodb - 如何基于唯一元素作为字段创建聚合?

我正在尝试根据diagnosticType和更高级别的patientKey和encounterKey聚合文档。这是文档的样子:{"_id":ObjectId("...."),"patientKey":1,"encounterKey":2,"diagnosisType":"medical_history","diagnosisCode":"Z87.81",}{"_id":ObjectId("...."),"patientKey":1,"encounterKey":2,"diagnosisType":"problem_list","diagnosisCode":"2x.2",}{"_id"

聚合中的 Mongodb 正则表达式使用对字段值的引用

注意:我使用的是Mongodb4,必须使用聚合,因为这是更大聚合的一步问题如何在包含以同一文档中另一个字段的值开头的字段的集合文档中查找?让我们从这个系列开始:db.regextest.insert([{"first":"Pizza","second":"Pizza"},{"first":"Pizza","second":"notpizza"},{"first":"Pizza","second":"notpizza"}])以及精确匹配的示例查询:db.regextest.aggregate([{$match:{$expr:{$eq:["$first","$second"]}}}])我会

node.js - Mongoose 聚合,在产品匹配时找到产品的祖先

抱歉标题不好,想不出更好的标题。我有一个父Product,它有一个空的ancestors数组。我也有ancestors的Products包含父级_id,称为variants和Productsancestors包括父级和名为options的变体_id。所有产品都在同一文档中,没有引用。父产品{productType:'simple'ancestors:[],title:"TestTitle",_id:"1"}变体产品{productType:'variant'ancestors:["1"],title:"TestVariant",_id:"2"}可选产品{productType:'opt