Elixir和mongodb聚合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elixir和mongodb聚合相关的知识,希望对你有一定的参考价值。
我已经建立了一个具有此结构的集合的mongodb:
{ "_id" : "some_id", "city" : { "name" : "City1" }}
我已经用elixir 1.9.2和phoenix开始了一个项目,并且已经设置了{:mongodb,“〜> 0.5.1”}
我已经在phoenix中设置了一些查找查询,这些查询已经在起作用,因此我与phoenix的mongodb的连接正常。
但是现在我需要构建一个带有聚合的查询来计算每个城市出现了多少次,我真的不明白如何使用凤凰城的mongodb管道
我以这种方式直接在mongo的shell中写了一个查询(我尝试并工作了:)
db.collection_name.aggregate([{$group: {_id : "$city", count: {$sum: 1}}}])
并将这些结果带给我:
{“ _id”:{“ name”:“ City1”},“ count”:212}
{“ _id”:{“ name”:“ City2”},“ count”:1200}
{“ _id”:{“ name”:“ City3”},“ count”:789}
{“ _id”:{“ name”:“ City4”},“ count”:540}
{“ _id”:{“ name”:“ City5”},“ count”:333}
与长生不老药相同的预期结果。
提前感谢。
答案
查找:)
db.cities.aggregate([
{
$group: {
_id: { name: "$city.name" },
count: { $sum: 1 }
}
}
])
mongodb查询的结果
{ "_id" : { "name" : "City1" }, "count" : 3 }
{ "_id" : { "name" : "City2" }, "count" : 2 }
以上是关于Elixir和mongodb聚合的主要内容,如果未能解决你的问题,请参考以下文章
python3操作MongoDB的crud以及聚合案例,代码可直接运行(python经典编程案例)