使用MongoDB将查询结果推送到变量中?

为此,您可以使用aggregate()。让我们创建一个包含文档的集合-

> db.demo142.insertOne({"Value":50});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32e9c6fdf09dd6d08539b2")
}
> db.demo142.insertOne({"Value":45});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32e9cafdf09dd6d08539b3")
}
> db.demo142.insertOne({"Value":60});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32e9cdfdf09dd6d08539b4")
}
> db.demo142.insertOne({"Value":55});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32e9d0fdf09dd6d08539b5")
}
> db.demo142.insertOne({"Value":50});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32e9d9fdf09dd6d08539b6")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo142.find();

这将产生以下输出-

{ "_id" : ObjectId("5e32e9c6fdf09dd6d08539b2"), "Value" : 50 }
{ "_id" : ObjectId("5e32e9cafdf09dd6d08539b3"), "Value" : 45 }
{ "_id" : ObjectId("5e32e9cdfdf09dd6d08539b4"), "Value" : 60 }
{ "_id" : ObjectId("5e32e9d0fdf09dd6d08539b5"), "Value" : 55 }
{ "_id" : ObjectId("5e32e9d9fdf09dd6d08539b6"), "Value" : 50 }

以下是将查询结果推入变量的查询-

> var query = db.demo142.aggregate( 
...    { "$group": { "_id": null, "MaxValue": { "$max": "$Value" } } }
... ]);
> var largestValue= query.toArray()[0]["MaxValue"];
> printjson(largestValue);

这将产生以下输出-

60