使用变量对象更新Mongoose数据库

时间:2018-10-11 08:10:30

标签: express mongoose

我有一个提供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);

0 个答案:

没有答案