Javascript 从文档中计算数组中的元素数

Javascript 从文档中计算数组中的元素数,javascript,mongodb,meteor,count,Javascript,Mongodb,Meteor,Count,我正在尝试建立一个博客,每个帖子都包含多个段落。我只想数一数某篇文章的段落数。在“博客”收藏中,我的文档(=帖子)如下: { id : String title : String paragraphs : [ { position: Int, body: String } ] } 我想要一个返回整数的函数。也许有点接近: var NumberParagraphs = Blog.find( {id: id} ).paragraphs.length (显然这不起作用!)。。。你能告诉我

我正在尝试建立一个博客,每个帖子都包含多个段落。我只想数一数某篇文章的段落数。在“博客”收藏中,我的文档(=帖子)如下:

{ id : String
  title : String
  paragraphs : [ { position: Int, body: String } ] }
我想要一个返回整数的函数。也许有点接近:

var NumberParagraphs = Blog.find( {id: id} ).paragraphs.length 
(显然这不起作用!)。。。你能告诉我怎么调查吗?在搜索网络时,我对
.count()
$size
.aggregate
的用例感到困惑。该方法不返回单个文档。因此,您可以将这些文档作为数组循环:

Blog.find({id:id}).fetch().forEach(函数(doc){
var NumParagraphs=doc.parations.length;
//然后做一些有用的事情
})
或者仅针对单个文档:

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

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

以及使用聚合方法和$size的示例,如果您想知道:

var numParagraphs=Blog.aggregate([
{
$match:{
“_id”:id
}
},
{
$项目:{
“pCount”:{$size:'$段落'}
}
}
]).pCount;
您应该这样做

Blog.findOne({_id:id}).paragraphs.length
谢谢