首页 > 解决方案 > Mongoose 仅​​在 .save 上保存 id 和 versionKey

问题描述

我不确定这里会发生什么,我正确设置了我的模式,并且 .save 函数本身可以工作,但是它只生成一个具有 id 和 versionkey(_id 和 __v)作为属性的对象。

这是我的模型代码(在文件 todo.model.js 中):

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

let Todo = new Schema({
    desc: String,
    progress: Number
});

module.exports = mongoose.model('Todo', Todo);

这是功能:

let Todo = require('./todo.model');
...
...
router.route('/add').post(function(req, res) {
    let todo = new Todo(req.body);
    todo.save()
        .then(todo => {
            res.status(200).json({'todo': 'todo added successfully'});
        })
        .catch(err => {
            res.status(400).send('adding new todo failed');
        });
});

路由等有效,带有正确 json 的 HTTP Post 请求也返回“todo 添加成功”,但是当我使用 get 时,我只得到对象的 id 和 versionKey。

{
"_id": "5ccd94f4a98874a847e54b00",
"__v": 0
}

这里出了什么问题?

标签: javascriptnode.jsmongodbmongoose

解决方案


推荐阅读