【问题标题】:NodeJs FindOne returns UndefinedNodeJs FindOne 返回未定义
【发布时间】:2018-07-19 07:28:22
【问题描述】:
router.get('/renew/:id',ensureAuthenticated , function(req, res){
  // console.log();
  Store.findById(req.params.id, function(err, stores){
    // console.log(stores);
    Plan.find({}, function(err, plans){
      Transaction.findOne({"app":req.body.appID},{"sort":{"startDate":-1}},function(err, transOne){
        console.log("transOne :" +transOne);
        Transaction.find({"_id":transOne._id},function(err, transactions){
          console.log("trans :"+transactions);
          res.render('edit_store', {
            title:'Edit Store',
            stores:stores,
            user:login.userLogin,
            plans:plans,
            transactions:transactions
          });
        });
      });
    });
  });
});

为什么我的 transOne 变量未定义?

TransOneUndefined.

所以,我的交易变量是错误的。

我想选择具有我选择的 appID 的最新文档。

我想知道如何获得 findOne 的结果。

我用过:

transOne = Transaction.findOne({"app":req.body.appID},{"sort":{"startDate":-1}});

但是,它返回“[Object Object]”。

【问题讨论】:

    标签: node.js mongoose pug


    【解决方案1】:

    您已经编写了获取请求,那么您将如何在此请求中获取正文,这不是在获取请求中发送正文的好方法。

    这里

    Transaction.findOne({"app":req.body.appID})
    

    您正在尝试使用 req.body.appID 尝试将其发送到 params 并执行查找操作。

    谢谢,希望对你有帮助

    参考: HTTP GET with request body

    【讨论】:

    • 如果另一个问题的答案也能回答这个问题,那么请考虑将此问题标记为重复问题(当您获得 15 点声望点后,您就可以这样做了)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多