javascript - 计算文档中数组中的元素数量

标签 javascript mongodb meteor count

我正在尝试建立一个博客,其中每篇文章都包含多个段落。我只想计算特定帖子中的段落数。在“博客”集合中,我的文档(=帖子)如下:

{ id : String
  title : String
  paragraphs : [ { position: Int, body: String } ] }

我想要一个返回整数的函数。也许接近于:

var NumberParagraphs = Blog.find( {id: id} ).paragraphs.length 

(显然这行不通!)...你能告诉我用哪种方式进行调查吗?在网上搜索时,我对 .count()$size.aggregate 的用例感到困惑

最佳答案

.find()方法不返回单个文档。所以你要么想将这些文档作为数组循环:

Blog.find({ id: id }).fetch().forEach(function(doc) {
     var NumParagraphs = doc.paragraphs.length;
     // Then do something useful
})

或者只是.findOne()对于单个文档:

var doc = Blog.findOne({ id: id });
var NumParagraphs = doc.paragraphs.length;

同样的原则适用于 MongoDB 的原始方法,而不仅仅是 Meteor。

关于javascript - 计算文档中数组中的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31131699/

相关文章:

JavaScript |通过浏览器/手机类型检测 WebKit

javascript - ubuntu 上的 meteor 错误。退出并显示代码 : 1 => Your application is crashing. 等待文件更改

javascript - 一秒弹出未找到页面-Meteor-iron-router

meteor - Angular2 Meteor,实现无限滚动的问题(滚动重置到顶部)

php - 转发POST数据

javascript - 通过按键选择 Bootstrap 下拉值

javascript - 使用 javaScript 按单词中元音的数量对句子进行排序并从左侧对其进行索引

node.js - 对 API 的 Angular HTTPS 和 HTTP 请求

mongodb - 如何获取 Meteor 中数组交集的 react 数据?

MongoDB compass - 从文档中的 3 个字段及其值中获取具有最大值的字段名称(键)