javascript - 为什么 MongoDB 不保存我的属性

标签 javascript node.js mongodb mongoose

我在尝试添加用户时用一些虚拟数据填充我的数据库。创建了一个用户对象,但没有保存任何属性...怎么了?

app.get('/setup', function (req, res) {

    User.findOne({ name: "Nick" }, function (err, user) {

        if (user == undefined) {

            var nick = new User({
                name: "Nick",
            }).save();

            res.json({ "success": true, "msg": "user created" });
        } else {
            res.json({ "success": true, "msg": "user existed" });
        }
    });
});

调用它返回“用户创建”。这是我输出所有用户的方法:

app.get('/users', function(req, res) {

    User.find({}, function(err, user) {
        res.json(user);
    });
});

这里的输出是

[
  {
    "_id": "565772db5f6f2d1c25e999be",
    "__v": 0
  },
  {
    "_id": "5657734ba859fefc1dca77db",
    "__v": 0
  },
  {
    "_id": "5657738ba859fefc1dca77dc",
    "__v": 0
  },
  {
    "_id": "565774f1cf99a2b81fca1e7f",
    "__v": 0
  },
  {
    "_id": "565775f0cf99a2b81fca1e80",
    "__v": 0
  }
]

在我尝试添加“Nick”几次的地方没有……有任何输入吗? :D

我的 Mongoose 模型,与其他模型位于其自己的 Model.js 文件中:

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

// set up a mongoose model and pass it using module.exports
module.exports = mongoose.model('User', new Schema({ 
    name: String, 
    password: String, 
}));

最佳答案

鉴于您在用户架构中有一个名称,您还需要等到您的 save() 查询完成然后发送响应:

app.get('/setup', function (req, res) {
    User.findOne({ name: "Nick" }, function (err, user) {
        if (err) {
          return res.json({ "success": false, "error": err });
        }

        if (user) {
          return res.json({ "success": true, "msg": "user existed" });
        }

        var nick = new User({ name: "Nick" });
        nick.save(function(err, userObj) {
           if (err) {
             return res.json({ "success": false, "error": err });
           }

           res.json({ "success": true, "msg": "user created" });
        });
    });
});

关于javascript - 为什么 MongoDB 不保存我的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33947121/

相关文章:

javascript - 检测多张图片加载事件

javascript - Gulp 缩小任务 - 类型错误 : undefined is not a function

css - 如何使用 node、express 和 ejs 包含 css 文件?

sql - 在从 RDBMS 切换之前需要 MongoDB 专家/开发人员的建议

java - MongoDB:游标在 next() 完成之前已关闭

javascript - 多次使用下拉菜单

javascript - Canvas 上的 HTML5 文本框位置

javascript - 用visual studio 2010开发nodejs

javascript - 使用 mocha/chai 测试几个函数回调

javascript - 如何更新数组中的对象详细信息?