计算MongoDB集合行

时间:2013-08-02 14:50:45

标签: node.js mongodb

我想知道如何计算我从MongoDB集合中获取的所有行。

var collection = db.collection( _collection ).find();

现在我不知道有没有闷闷不乐,如果需要关注我从我的收藏中走出来的maney行。

有没有更好的方法让我使用Stream功能将我的“数据”输出?

var stream = collection.find().stream();            
stream.on("data", function(item)
{
    console.log(item.zipcode);
});

stream.on("end", function()
{
});

我如何获得一种帮助,:))

1 个答案:

答案 0 :(得分:3)

我根本没有使用过Node.JS驱动程序,但查看documentationCollection()似乎有一个计数功能:

// Assuming DB has an open connection...
db.collection("my_collection", function(err, collection) {
    collection.count(function(err, count)) {
        // Assuming no errors, 'count' should have your answer
    }
});

这有帮助吗?

关于你问题的第二部分,我不完全确定你在问什么,但这里有几种获取数据的方法:

使用toArray()函数为您提供所有文档的数组(see docs):

collection.find().toArray(function(err, docs) {
    // 'docs' should contain an array of all your documents
    // 'docs.length' will give you the length of the array (how many docs)
});

使用each()函数循环结果并为每个结果执行给定的函数(see docs):

collection.find().each(function(err, doc) {
    // this function will be executed once per document

    console.log(doc.zipcode)
});

我希望能帮到你。