我的以下代码能够计算不同城市的数量。
获得不同的国家/地区
IpDetails.find().distinct('city', function(error, cities) {
console.log(`unique cities is:, ${cities}`)
})
结果
unique cities is: Toronto, Waterloo
我的问题是,如何使用猫鼬获得多伦多和滑铁卢出现在数据库中的次数?有人可以建议吗?
答案 0 :(得分:1)
您应该能够将$aggregate与$group和$sum一起使用。实际上,您可以按照city
的值对每个对象进行分组,并为每个对象增加计数:
IpDetails.aggregate([
{ $group: { _id: "$city", count: { $sum: 1 } } }],
function(error, groups) {
groups.forEach(function(group) {
console.log(`City ${group._id} appeared ${group.count} times`);
});
}
);
希望有帮助!