Jas*_*n94 8 javascript mongoose mongodb node.js
我正在使用一些虚拟数据填充我的数据库,我正在尝试添加用户.创建了一个用户对象,但没有任何属性保存...最新消息?
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" });
}
});
});
Run Code Online (Sandbox Code Playgroud)
调用此返回"用户创建".这是我输出所有用户的方法:
app.get('/users', function(req, res) {
User.find({}, function(err, user) {
res.json(user);
});
});
Run Code Online (Sandbox Code Playgroud)
这里的输出是
[
{
"_id": "565772db5f6f2d1c25e999be",
"__v": 0
},
{
"_id": "5657734ba859fefc1dca77db",
"__v": 0
},
{
"_id": "5657738ba859fefc1dca77dc",
"__v": 0
},
{
"_id": "565774f1cf99a2b81fca1e7f",
"__v": 0
},
{
"_id": "565775f0cf99a2b81fca1e80",
"__v": 0
}
]
Run Code Online (Sandbox Code Playgroud)
在哪里我试图添加"Nick"几次noe ...任何输入?: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,
}));
Run Code Online (Sandbox Code Playgroud)
鉴于您在用户Schema中有一个名称,您还需要等到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" });
});
});
});
Run Code Online (Sandbox Code Playgroud)
您需要在用户架构中定义名称键才能保存。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
name: String
});
var User = mongoose.model('User', userSchema);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |