Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据推送到foreach mongodb中的数组_Mongodb_Pymongo - Fatal编程技术网

将数据推送到foreach mongodb中的数组

将数据推送到foreach mongodb中的数组,mongodb,pymongo,Mongodb,Pymongo,我用的是机器人。。。获取如下值: db.getCollection('collectionName').find({ 'MaterialNumber':'2093668', 'OutputScore.Softening Point':{$exists:true}}).forEach(function(myDoc){ var score = $push:{(myDoc.OutputScore['Softening Point'].ActualValue - 75.0)/75.0 }

我用的是机器人。。。获取如下值:

db.getCollection('collectionName').find({
'MaterialNumber':'2093668',
'OutputScore.Softening Point':{$exists:true}}).forEach(function(myDoc){
   var score  = $push:{(myDoc.OutputScore['Softening Point'].ActualValue - 75.0)/75.0 }
   print(scores)
});
我想把它排成一列
因此,我可以获得该值的最小值和最大值

可以通过多种方式获得集合中的最小值和最大值。以下示例使用示例数据

在内存中使用Python 在MongoDB中使用聚合
0.02666666666666667
0.013333333333333334
0.02666666666666667
0.02666666666666667
result = db.test.find({
    'MaterialNumber': '2093668',
    'OutputScore.Softening Point': {'$exists': True},
})

scores = [(doc['OutputScore']['Softening Point']['ActualValue'] - 75.0) / 75.0 for doc in result]

max_score = max(scores)
min_score = min(scores)

>>print(max_score, min_score)
3.0 -0.2
pipeline = [
    {
        '$match': {
            'MaterialNumber': '2093668',
            'OutputScore.Softening Point': {'$exists': True},
        },
    },
    {
        '$group': {
            '_id': None,
            'Scores': {'$push': {'$divide': [{'$subtract': ['$OutputScore.Softening Point.ActualValue', 75.0]}, 75.0]}}
        }
    },
    {
        '$project': {
            'maxScore': {'$max': '$Scores'},
            'minScore': {'$min': '$Scores'},
        }
    }
]

result = db.test.aggregate(pipeline)

>> print(list(result))
[{'_id': None, 'maxScore': 3.0, 'minScore': -0.2}]