我想知道如何计算我从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()
{
});
我如何获得一种帮助,:))
答案 0 :(得分:3)
我根本没有使用过Node.JS驱动程序,但查看documentation,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()
函数为您提供所有文档的数组(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)
});
我希望能帮到你。