2016-12-06 54 views
0

我有一個新的MongoDB架構的NodeJS + MongoDB中如何限制數據爲特定用戶

let TestTable = new Schema({ 
    Title: String, 
    Content: String, 
}); 

這是POST方法來添加數據:

api.post('/add',authenticate, (req, res) => { 
    let NewTestTable = new TestTable(); 
    NewTestTable.Title = req.body.Title; 
    NewTestTable.save(err => { 
     if (err) {res.send(err);} 
     res.json({message: "Addig was sucessfully"}); 
    }) 

讓的說我登錄,我有用戶標識 我如何才能爲特定用戶的此架構添加新數據

並且當我進行GET方法時,我將只接收該用戶的數據

得到:

api.get('/', authenticate,(req, res) => { 
    TestTable.find({}, (err, testtable) => { 
     if (err) {res.send(err);} 
     res.json(testtable); 
    }); 

的感謝!

+1

你能解釋一下它多一點?問題太混亂了。 – Prajwal

+0

讓我說我有兩個用戶 他們都需要使用測試表模式來添加新的數據到數據庫 我想限制特定用戶的數據 如果user1將製作一個get方法,他將只接收數據他補充說 –

回答

0

你需要在你的TestTable模式中引用用戶,所以你可以在添加數據的同時搜索數據,只需要獲取具有userId條件的數據以便更新,就可以使用特定的文檔您的TestTable架構的ID。

例:

let TestTable = new Schema({ 
    Title: String, 
    Content: String, 
userId:{type:Schema.ObjectId,ref:"userId",default:null}, 

}); 
+0

ohhh謝謝...但是當我做一個post方法 我需要做什麼? NewTestTable.userId = req.body.userId? –

+0

是的,這將爲你工作。 –

相關問題