Node.js 通过API将对象数组填充到Mongoose

Node.js 通过API将对象数组填充到Mongoose,node.js,api,express,post,mongoose,Node.js,Api,Express,Post,Mongoose,目前,我在使用Mongoose通过API使用array发布数据时遇到了一些问题 当前,此数据显示在我的控制台中: taskName: 'name', word: 'word2', wordDesc: 'description', tag: [ { text: 'word0' }, { text: 'word1' }, { text: 'word2' } ] } 我需要使用单独的值将标记数组推送到数据库中,这样我就可以将每个单独的单词发布/定位到HTML中,以供以后使用 目前,我将整

目前,我在使用Mongoose通过API使用array发布数据时遇到了一些问题

当前,此数据显示在我的控制台中:

taskName: 'name',
  word: 'word2',
  wordDesc: 'description',
  tag: [ { text: 'word0' }, { text: 'word1' }, { text: 'word2' } ] }
我需要使用单独的值将标记数组推送到数据库中,这样我就可以将每个单独的单词发布/定位到HTML中,以供以后使用

目前,我将整个阵列添加到我的数据库集合中,这将为我提供数据库中的以下数据:

"word": "[object Object],[object Object],[object Object],[object Object]"
如何循环遍历数组中的每个项并将其分别插入数据库

API代码

 router.post('/task', function (req,res) {
            var task = req.body.tag;
            var taskDesc = req.body.wordDesc;
            var taskName = req.body.taskName;
            console.log(req.body);
            var newTask = new Task ({
                tags:[{word:task}],
                wordDesc: taskDesc,
                taskName: taskName 
            });


            newTask.save(function(err){
                if (err) {
                    return res.send(err);
                }
                return res.json(newTask);
            });
        });
MongoDB模式

var taskSchema = mongoose.Schema({
    tags: [{
         word        : {type: String, default: ""}
    }],

    wordDesc    : {type: String, default: ""},
    taskName    : {type: String, default: ""}
});

如果我理解你的问题,你可以这样做:

...
  var newTask = new Task();
  newTask.wordDesc = taskDesc;
  newTask.taskName = taskName;

  wordTasks.forEach(word=>{
     newTask.tags.push(word);
  });

  newTask.save(function(err){
  ...

我们最终从您的示例中获得了一些灵感,代码最终如下图所示,功能如我们所愿:

var word = req.body.tag;
        var taskDesc = req.body.wordDesc;
        var taskName = req.body.taskName;
        console.log(req.body);

        var newTask = new Task();          
             newTask.taskName = taskName;
             newTask.wordDesc = taskDesc;
          for (var i = 0; i < word.length; i++) {
             console.log(word[i].text);
             newTask.tags.push(word[i]);
                }
var word=req.body.tag;
var taskDesc=req.body.wordDesc;
var taskName=req.body.taskName;
控制台日志(请求主体);
var newTask=新任务();
newTask.taskName=taskName;
newTask.wordDesc=任务描述;
for(变量i=0;i