使用node js mongoose保存后如何返回json数据
Posted
技术标签:
【中文标题】使用node js mongoose保存后如何返回json数据【英文标题】:how to return json data in after save using node js mongoose 【发布时间】:2017-05-07 15:53:41 【问题描述】:使用save函数通过post方法插入数据,在同样的方法中需要得到与我们插入的带有id的文档相同的json数据
apiRoutes.post('/doctor', function(req, res)
if(!req.body.Name || !req.body.password)
res.json(success: false, msg: 'please pass the username and password');
else
var newUser = new Doctor(
Name:req.body.Name,
password : req.body.password,
);
newUser.save(function(err)
if(err)
res.json(success: false, msg :'username alredy existes');
else
res.json(success: true, msg : 'Successfull created user');
);
);
res.json中需要返回与文档网的_id相同的文档名和密码
【问题讨论】:
你也在用 express 吗? 是的,我正在使用 Express @se 【参考方案1】:根据您的要求,您希望通过 POST 方法在 db 中输入名称和密码。然后你可以简单地做到这一点。
apiRoutes.post('/doctor', function (req, res)
var newUser = req.Collection;
var name = req.body.Name;
var password = req.body.password;
var record = new newUser(
name: name,
password: password,
);
if (name && password)
record.save(function (err, result)
if (err)
res.json(status: 0, message:" username alredy existes")
else
res.json(status: 1, name: name, password: password, message: " Successfull created user");
)
else
res.json(status: 0, msg: "Invalid Fields");
);
【讨论】:
保存后会得到文件id 如何在那个@Shekhar 中得到那个id 你希望 mongoid 正确存储了这个名字和密码,然后使用 id: result._id 你定义了一个集合名称 var newUser = req.Collection;在您的 db.js 文件中类似 是的,我在 db 中定义了 res.json(status: 1, name: name, password: password,id:result._id, message: "成功创建用户");替换此行。希望它有效【参考方案2】:我认为您可以使用 .get()
方法和 /path/:id
作为第一个参数。像这样:
apiRoutes.get('/doctor/:id', function(req, res)
// your code goes here
);
因此,您可以从客户端发送您的 get 请求,例如 /doctor/65431
(id)
更多关于 express .get 方法的信息here
【讨论】:
我不想在单独的 get 方法中我想要在响应中的 post 方法本身【参考方案3】:试试这个
apiRoutes.post('/doctor', function(req, res)
if(!req.body.Name || !req.body.password)
res.json(success: false, msg: 'please pass the username and password');
else
var newUser = new Doctor(
Name:req.body.Name,
password : req.body.password,
);
newUser.save(function(err)
if(err)
res.send('success': 'false', 'msg' :'username alredy existes');
else
res.send('success': 'true', 'msg' : 'Successfull created user','data':newUser);
);
);
【讨论】:
Getting error dude'' res.json(success: true, msg : 'Successfull created user' :newUser); SyntaxError: Unexpected token : 删除 'data':newUser 并尝试以上是关于使用node js mongoose保存后如何返回json数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Node.js 中使用 mongoose 将大数组保存到 MongoDB
Node.js Mongoose 如何保存新文档并向数组字段添加新值
使用 Node.js 和 Mongoose 将查询结果保存到模型/模式的属性