MongoDB-组合多个命令来发送和返回一个请求

MongoDB - Combined multiple commands to send and return one request

本文关键字:返回 一个 请求 组合 命令 MongoDB-      更新时间:2023-09-26

我目前在PHP和Javascript中都使用MongoDB。我想做的是将以下MongoDB命令组合到一个请求中,然后将其作为一个请求返回,以避免我在Javascript的AJAX中遇到的一些错误。我该怎么做?下面是我想放入其中的命令示例(Mongo形式)。感谢您的帮助!

db.colcName.find({"location": "London"})
db.colcName.count({"provider": "provider1"})
db.colcName.count({"provider": "provider2"})
db.colcName.count({"provider": "provider3"})
db.colcName.count({"provider": "provider4"})

使用MongoDB的聚合框架。

要在单个操作中计算示例中的计数,请使用以下方法:

db.colcName.aggregate([
   {"$match":{"location":"London"}},
   {"$group":{"_id":"$provider",
              "count":{"$sum":1}}}]);

这个聚合管道首先只选择那些"location"等于"London"的记录,然后按"provider"字段对这些记录进行分组(注意字段名称前面的$符号)。对于每个组,它计算计数(记录数)。