我有一个提供2种语言选择的网站。我使用CMS来更改网站上的某些内容。对于某些内容,我在Mongoose中使用了更新功能。但是我需要为需要更改的语言更新内容。因此,基于编辑器的隐藏输入(可以是nl或en),需要基于该输入来更新对象。 我使用Express和猫鼬。
这是Express中的更新功能:
postController.headerPost = function(req,res,header){
var id = req.body.id;
var locale = req.body.locale;
var data = {
header_col1 : req.body.main_header_col1,
header_col2 : req.body.main_header_col2
};
obj = {[locale]: data };
console.log(obj);
header.update({_id: id}, {$set:{obj}}, (err, result) => {
if(err) {
throw err;
}
});
};
变量语言环境为nl或en。 我试图创建一个对象并在Mongoose模型中一次对其进行更新,但这似乎不起作用
这是猫鼬模式:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var news_header = new mongoose.Schema({
nl : {
header_col1: String,
header_col2: String
},
en : {
header_col1: String,
header_col2: String
}
}, {collection: 'news_header'});
module.exports = mongoose.model("news_header", news_header);