mongodb - 使用 WHERE 条件计数
问题描述
我有以下 T-SQL 查询:
SELECT year, COUNT(*) FROM publis
WHERE publisher LIKE '%Springer%'
我做了这个查询:
db.publis.aggregate([{"$group" : {_id:"$year", count:{$sum:1}}}])
如何包含 WHERE 条件?
解决方案
SQL 的等价物WHERE
是$match聚合阶段,因此您可以像这样重写查询:
db.publis.aggregate([
{
$match: {
publisher: /Springer/,
},
},
{
$group: {
_id: '$year',
count: { $sum: 1 },
},
},
]);
推荐阅读
- powershell - 如何读取包含需要读取powershell的其他文本文件的路径的文本文件
- javascript - pako.deflate 没有减少我的请求的大小
- amazon-web-services - Dynamodb 与 Redis
- scala - ficus lib有什么方法可以根据配置中的值在scala案例类中注入Long或String
- elasticsearch - 结合嵌套查询获取非法状态异常未能找到路径下的嵌套对象
- c# - 两种类型 A 和 B 的两个 DbSet 的问题,其中 B 继承自 A
- javascript - 如何将 CODE imagros 更改为 javascript
- docker-compose - Docker构建创建虚拟以太网接口
- amazon-web-services - aws.data.highio.i3 弹性云实例的 14 天试用期的核心数是多少?
- node.js - SequelizeJS,这是使用此模型创建此 JSON 结果的最佳方法吗