gpt4 book ai didi

MongoDB countDocuments() 返回一个对象,而不是一个数字

转载 作者:行者123 更新时间:2023-12-02 00:07:53 25 4
gpt4 key购买 nike

我开始学习 mongoose/MongoDB 聚合函数,但遇到了一些基本困难。例如,我正在尝试执行以下操作:

var myModels= require('./models/myModel');
var myCount = myModels.countDocuments({userID: "A"});
console.log(myCount );

我只想计算用户 ID 为“A”的文档的数量,但是当它打印到控制台时,它是作为一个整体对象打印的,而不仅仅是一个数字计数。我已经阅读了答案 here但我仍然无法解决这个问题(另外,与那个问题不同,有没有办法直接返回计数,而不必预定义一个变量并将其设置在回调函数中?)

我正在尝试遵循指南 here并且看不出我哪里错了。

最佳答案

因为countDocuments的返回值是一个promise而不是数字。

您要么需要等待那个 Promise,要么使用像这样的回调语法:

var myModels= require('./models/myModel');
// this required the code to be inside an async function
var myCount = await myModels.countDocuments({userID: "A"});
console.log(myCount);

或者:

var myModels= require('./models/myModel');
myModels.countDocuments({userID: "A"})
.then((myCount) =>{console.log(myCount);});

关于MongoDB countDocuments() 返回一个对象,而不是一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009431/

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