在大学文件中找到总的学生

发布于 2025-01-22 05:24:00 字数 947 浏览 0 评论 0原文

如何从文件中计算每所大学的学生总数?尝试查找和组。

  • 大学命名。有很多名称。

#这个集合:

db.universities.insert([
{
  country : 'Spain',
  city : 'Salamanca',
  name : 'USAL',
  location : {
    type : 'Point',
    coordinates : [ -5.6722512,17, 40.9607792 ]
  },
  students : [
    { year : 2014, number : 24774 },
    { year : 2015, number : 23166 },
    { year : 2016, number : 21913 },
    { year : 2017, number : 21715 }
  ]
},
{
  country : 'Spain',
  city : 'Salamanca',
  name : 'UPSA',
  location : {
    type : 'Point',
    coordinates : [ -5.6691191,17, 40.9631732 ]
  },
  students : [
    { year : 2014, number : 4788 },
    { year : 2015, number : 4821 },
    { year : 2016, number : 6550 },
    { year : 2017, number : 6125 }
  ]
}
])

[我的代码] [1]: https://i.sstatic.net/vyudi.png

How calculate total number of students in each university from document? Try lookup and group.

  • University definded by name. There are many names.

#This the collection:

db.universities.insert([
{
  country : 'Spain',
  city : 'Salamanca',
  name : 'USAL',
  location : {
    type : 'Point',
    coordinates : [ -5.6722512,17, 40.9607792 ]
  },
  students : [
    { year : 2014, number : 24774 },
    { year : 2015, number : 23166 },
    { year : 2016, number : 21913 },
    { year : 2017, number : 21715 }
  ]
},
{
  country : 'Spain',
  city : 'Salamanca',
  name : 'UPSA',
  location : {
    type : 'Point',
    coordinates : [ -5.6691191,17, 40.9631732 ]
  },
  students : [
    { year : 2014, number : 4788 },
    { year : 2015, number : 4821 },
    { year : 2016, number : 6550 },
    { year : 2017, number : 6125 }
  ]
}
])

[My code]
[1]: https://i.sstatic.net/vYUDi.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ㄖ落Θ余辉 2025-01-29 05:24:01

欢迎布线!

正如评论中所写的那样,最好说明您所需的输出是什么。如果您想要的只是总计每个文档的学生数量,则可以使用一个基本查询,例如:

db.collection.find({}, {total: {$sum: "$students.number"}, name: 1})

将返回它,如您在MongoDB 游乐场。查询的第一个标准是匹配部分,选择要使用的文档(在您的情况下,没有其他数据)。第二部分是投影,这意味着数据的格式。在这里,我们使用$ sum,以概括每个文档的FIR数。

Welcome Linor!

As written in the comments, it is better if you will explain what is your desired outputs. If all you want is to sum the number of student per each document, you can use a basic query, like:

db.collection.find({}, {total: {$sum: "$students.number"}, name: 1})

That will return it, as you can see on the mongodb playground. The first par of the query is the matching part, choosing which documents to use (in your case, with no further data, all of them). The second part is the projection, meaning the formatting of the data. Here we use $sum in order to sum the number of students fir each document.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文