0

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

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

现在我不知道里面有没有somting,如果需要关注我从我的收藏中得到了多少行。

有没有更好的方法让我使用 Stream 函数来获取我的“数据”?

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

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

我怎样才能得到某种帮助,:)

4

1 回答 1

3

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

// 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()函数为您提供所有文档的数组(请参阅文档):

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()函数遍历结果并为每个结果执行给定的函数(请参阅文档):

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

    console.log(doc.zipcode)
});

我希望这可以帮助你。

于 2013-08-02T16:13:07.663 回答