【问题标题】:Getting all documents from MongoDB with mongoose使用 mongoose 从 MongoDB 获取所有文档
【发布时间】:2021-02-22 11:32:45
【问题描述】:

由于某种原因,我在使用 mongoose 从 MongoDB 获取所有文档时遇到问题。我想检索所有文档并将它们放入一个数组中以供以后处理,但这似乎是不可能的。这是我正在使用的代码:

module.exports = { 
    create: (req, res, next) => {
        // console.log(req.body);
        let userClaim = new UserClaim(getUserParams(req.body));
        let userArr = [];
        UserClaims.find({}).then((users) => {
            users.forEach(user => {
                userArr.push(user);
        });

如果我在forEach 语句中打印每个用户,它就可以工作。但是,数组在操作结束时始终为空。我也使用调试器逐步完成了代码。数组将填充,但在 forEach 方法完成后立即返回为空。

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    尝试以下解决方案,

    module.exports = { 
        create: async (req, res, next) => {
            let userClaim = new UserClaim(getUserParams(req.body));
            const userArr = await UserClaims.find({}).lean()
    // Print and check userArr
          }
    

    【讨论】:

    • 所以我猜这是一个奇怪的异步问题。
    猜你喜欢
    • 2017-09-14
    • 2017-09-28
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2011-11-10
    • 1970-01-01
    相关资源
    最近更新 更多