gpt4 book ai didi

node.js - MongoDB - 如何使用 Node.js 获取集合的大小?

转载 作者:IT老高 更新时间:2023-10-28 12:29:57 24 4
gpt4 key购买 nike

我正在使用 node.js 编写服务器端代码,我正在尝试使用无效的计数方法获取 MongoDB 集合大小。

这是我的代码

var mongo = require('mongodb');
var host = "127.0.0.1";
var port = mongo.Connection.DEFAULT_PORT;

function getStock(name, callback) {

var db = new mongo.Db("testDB", new mongo.Server(host, port, {}));
db.open (function(error){
console.log("We are connected! " + host + ":" +port);

db.collection("stocks", function(error, collection){
console.log("We have a collection");
**var numOfDocs = db.collection('stocks').count()**
**console.log("The num of Docs in our collection is: ",numOfDocs)**
collection.find({"name":name.toString()}, function(error, cursor) {
cursor.toArray(function(error, stocks) {
if (stocks.length==0) {
//console.log("No Stocks found!");
callback(false);
}
else {
callback(stocks[0]);
//console.log("Found a stock -> ",stocks[0]);
}
});
});


});
});
}

最佳答案

.count() 是一个异步函数,就像 .find() 一样。

试试下面的代码:

collection.count({}, function(error, numOfDocs) {
console.log('I have '+numOfDocs+' documents in my collection');
// ..
});

.count() 的第一个参数应该是搜索查询。由于您要计算所有文档,因此我将一个空对象 {} 作为搜索查询传递。

关于node.js - MongoDB - 如何使用 Node.js 获取集合的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25372297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com