用户注册时从 MongoDB 中获取数据
Fetch data from MongoDB when the user register
我正在学习 MEAN 堆栈环境,我有一个问题。
我有一个注册页面,在MongoDB中注册用户:
// register.component.ts
register(){
this.http.post('http://localhost:3001/register', this.input)
.subscribe(
( next: any) => {
// TO-DO Success event
},
( error: any) => {
// TO-DO Error event
});
}
// app.js
app.post('/register', function(req, res){
db.collection('users').insertOne({
prenom : req.body.prenom,
nom: req.body.nom,
email : req.body.email,
password : req.body.password
})
})
它工作得很好,问题是对于连接,我使用_id:
// login.component.ts
login(id: string){
this.http.get('http://localhost:3001/login/' + id).toPromise().then((data: any) => {
this.users = data
})
sessionStorage.setItem('id', id)
}
// app.js
app.get('/login/:id', function(req, res){
db.collection('users').findOne({ email: ObjectId(`${req.params.id}`)}, function(err, user){
if (err) throw err;
if (!user) {
console.log('User not found')
}
else if (user)
{
console.log('Found user: ' + user.prenom)
}
})
})
如何确保当用户注册时,直接returns他的_id,这样我就可以把他放在会话中:
sessionStorage.setItem('id', id)
db.collection.insertOne()
函数 return 插入文档,请参阅 here。这意味着您可以为 insertOne()
函数执行回调或 async/await(无论您喜欢哪个),然后使用 Express 函数 res.json()
return _id
。在您的前端,您将获得您放入 res.json()
中的任何内容作为响应。编码愉快! :)
我正在学习 MEAN 堆栈环境,我有一个问题。
我有一个注册页面,在MongoDB中注册用户:
// register.component.ts
register(){
this.http.post('http://localhost:3001/register', this.input)
.subscribe(
( next: any) => {
// TO-DO Success event
},
( error: any) => {
// TO-DO Error event
});
}
// app.js
app.post('/register', function(req, res){
db.collection('users').insertOne({
prenom : req.body.prenom,
nom: req.body.nom,
email : req.body.email,
password : req.body.password
})
})
它工作得很好,问题是对于连接,我使用_id:
// login.component.ts
login(id: string){
this.http.get('http://localhost:3001/login/' + id).toPromise().then((data: any) => {
this.users = data
})
sessionStorage.setItem('id', id)
}
// app.js
app.get('/login/:id', function(req, res){
db.collection('users').findOne({ email: ObjectId(`${req.params.id}`)}, function(err, user){
if (err) throw err;
if (!user) {
console.log('User not found')
}
else if (user)
{
console.log('Found user: ' + user.prenom)
}
})
})
如何确保当用户注册时,直接returns他的_id,这样我就可以把他放在会话中:
sessionStorage.setItem('id', id)
db.collection.insertOne()
函数 return 插入文档,请参阅 here。这意味着您可以为 insertOne()
函数执行回调或 async/await(无论您喜欢哪个),然后使用 Express 函数 res.json()
return _id
。在您的前端,您将获得您放入 res.json()
中的任何内容作为响应。编码愉快! :)