1
我想基於一個如果我找到一個值來更新我的集合。我保存功能看起來像這樣 `在mongodb中更新一個集合
router.post('/savePage', function (req, res) {
var page = req.body.page;
var query = {'pageId': page.pageId};
var paged = new pagedb(page);
pagedb.find(query, function (err, result) {
if(err) return console.error(err);
if(result.length > 0){
pagedb.update({'pageId': page.pageId}, page);
res.send('updated')
}
else{
paged.save(function (err) {
if (err) {
console.log('error saving page!');
throw err;
};
res.send('saved');
});
}
});
});`
我的模式是這樣的
var pageShema = new Schema({
pageId: {
type: String
},
logo: {
type: String
},
show: {
type: String
},
teamName: {
type: String
},
header1: {
type: String
},
header2: {
type: String
},
date: {
type: Date,
default: Date.now
},
offense:{
type: {}
},
defense:{
type: {}
}
});
我正確保存作品,我的數據似乎並沒有更新。我正在使用mongodb 3.2。實質上,我想用新的頁面替換現有的頁面。請求中發送的頁面
在您更新查詢,它看起來像你直接從req.body.page傳遞一個值,取消選中和未改變,作爲[更新參數](https://docs.mongodb.com/manual/reference/method/db.collection.update/#update-parameter )。你確定這是安全的嗎? –