我正在學習 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)
}
})
})
如何確保當用戶注冊時,它直接回傳他的_id,這樣我可以讓他進入會話:
sessionStorage.setItem('id', id)
uj5u.com熱心網友回復:
該db.collection.insertOne()函式回傳插入的檔案,請參見此處。這意味著您可以為您的函式執行回呼或異步/等待(無論您喜歡哪個)insertOne(),然后_id使用 Express 函式回傳res.json()。然后,在您的前端,您將獲得res.json()作為回應輸入的任何內容。快樂編碼!:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/475474.html
上一篇:如何發布請求?
