【问题标题】:Mongoose find() field that has spaces有空格的猫鼬 find() 字段
【发布时间】:2021-01-21 11:25:08
【问题描述】:

我正在 nodejs 中创建一个端点来查询一个 mongodb 集合,该集合的字段在“贷款 ID”中有一个空格。

{
   " Loan ID " : 674.0,
   " Amount " : " $50,000 ",
   "Tenor" : "3"
}

我使用的代码就是这样。

exports.view = function (req, res) {
    LoanStat.findOne({ 'Loan ID' : req.body.id}, function (err, loanStat) {
        if (err)
            res.send(err);
        res.json({
            message: 'LoanStat details loading..',
            data: loanStat
        });
    });
};

由于“贷款 ID”字段中的空格,我似乎无法返回结果。但是如果我要查询一个没有空格的字段,比如“Tenor”,我的 API 就可以正常工作了。

我正在为现有数据库创建 API,如果是我,我永远不会以这种方式通过字段命名。

请帮忙!谢谢!

【问题讨论】:

  • "Loan ID" 是硬编码在您的代码中的吗?我测试了在 MongoDB 中更改该字段并且它有效
  • @luckongas 天哪,你拯救了这一天。您的回复让我查看了我的架构,我发现了错误。显然它是“贷款 ID”,我正在查询“贷款 ID”。我现在觉得很傻
  • 没问题!这些事情发生了:)

标签: javascript node.js mongodb api backend


【解决方案1】:

好吧,显然我被额外的空格所迷惑了。该字段是“贷款 ID”而不是“贷款 ID”。没有注意到前后多余的空格。

【讨论】:

    【解决方案2】:
        exports.view = function (req, res);
    {
          const data = LoanStat.findOne({ 'Loan ID' : req.body.id}).pretty();
        };
    

    【讨论】:

    • 哈哈,谢谢,但我已经在之前的回复中找到了答案。我会将其标记为找到答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2019-07-10
    • 2019-11-11
    • 2021-12-10
    • 2015-04-01
    • 1970-01-01
    • 2019-01-18
    相关资源
    最近更新 更多