首页 > 解决方案 > findOneandUpdate mongoose

问题描述

我仅在文档不存在时才尝试插入文档。

以下是我的代码:

export const login = ({ bodymen: { body } }, res, next) =>
    Login.findOneAndUpdate(
      {phoneNumber:body.phoneNumber},
      { $set: {phoneNumber:body.phoneNumber }},
      {new: true, upsert: true }
    )
    .then((login) => login.view(true))
    .then(success(res, 201))
    .catch(next)

在我的 index.js 中,我有这样的路线

router.post('/login', body({ phoneNumber }), login)

问题是它最终为电话号码添加了一个空值。任何帮助深表感谢

标签: node.jsmongodbmongoose

解决方案


尝试这个

router.post('/login', (req, res) => {
Login.findOneAndUpdate(
      {phoneNumber: req.body.phoneNumber},
      { $set: {phoneNumber: req.body.phoneNumber }},
      {new: true, upsert: true }
    )
    .then((login) => login.view(true))
    .then(success(res, 201))
    .catch(next)
})
}

推荐阅读