【问题标题】:mongodb with nodejs returns empty error when adding documents to mongodb将文档添加到mongodb时,带有nodejs的mongodb返回空错误
【发布时间】:2021-05-30 07:45:32
【问题描述】:

在邮递员中单击发送后大约 5 秒我收到此错误:

{
    "message": {}
}

错误发生的地方:

router.post('/', async (req, res) => {
    const post = new Post({
        title: req.body.title,
        description: req.body.description
    });

    try {
        const savedPost = await post.save();
        res.json(savedPost);
    } catch (err) {
        res.json({message: err}); // here
    }

});

我在 console.log 中连接了数据库(mongo 由 docker-compose 运行)

  mongodb:
    image: mongo
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
      MONGO_INITDB_DATABASE: test_db
    ports:
      - 27017:27017

DB_CONNECTION=mongodb://admin:admin@mongodb:27017/test_db

mongoose.connect(
    process.env.DB_CONNECTION, 
    { 
        useNewUrlParser: true,
        useUnifiedTopology: true
    },
    () => console.log('connected to DB!!!') // call back
);

帖子架构:

const mongoose = require('mongoose');


// describe how the data looks
const PostSchema = mongoose.Schema({
    title: {
        type: String,
        required: true
    },
    description: {
        type: String,
        required: true
    },
    date: {
        type: Date,
        default: Date.now
    },
})

module.exports = mongoose.model('Posts', PostSchema)

但是,当我将 DB_connection 更新为: DB_CONNECTION=mongodb://admin:admin@mongodb:27017(删除/test_db) 问题消失了,我完美地将文档添加到 mongodb(但不在 test_db 中)

谁知道问题出在哪里? 非常感谢!!

【问题讨论】:

  • 错误是什么?,看起来像是身份验证/权限问题。
  • 我猜这也是 auth 权限错误...错误为空...res.json({message: err}) 给出 {"message":{}}。我看到了这个非常相似的帖子:stackoverflow.com/questions/66403766/…
  • 我在这里有一些线索..当我将连接字符串更改为 DB_CONNECTION=mongodb://admin:admin@mongodb:27017(没有 /test_db)时,它可以工作。谁能解释一下为什么..

标签: node.js mongodb mongoose


【解决方案1】:

你总是可以使用回调:

    post.save(function(err, obj) {
        if (err)
            res.send(err);

        res.json({ message: 'created!', data: obj });
    });

【讨论】:

  • 正如预期的那样,我得到了 {} (as an err) 。谢谢回复!
猜你喜欢
  • 2021-06-17
  • 2021-06-17
  • 2015-12-21
  • 1970-01-01
  • 2020-07-03
  • 2015-11-08
  • 2018-08-21
  • 2017-09-16
  • 1970-01-01
相关资源
最近更新 更多