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