在流星集合文档中插入值

inserting value in meteor collection document

本文关键字:插入 文档 流星 集合      更新时间:2023-09-26

调用方法storeUserinputs时,此代码试图在文档中插入一些值,但是我收到错误

调用方法"storeUserInputs"时出错:内部服务器错误 [500]

我经历了很多次,但找不到问题。我做错了什么?谢谢。

storeUserInputs: function (doc) {
    var activeTask = ActiveTaskCol.findOne({}, {fields: {action: 1}, sort: {createdAt: -1}, limit: 1}).action;
    console.log(doc);
    doc.forEach(function (obj) {
        console.log(obj);
        InputsCol.update({action: activeTask, name: obj[name]}, {$set: {value: obj[value]}});
   });
}

上面的代码控制台在抛出错误之前记录了以下内容

[ { 名称: '盘子', 值: 'x 大' } ]
{ 名称:"盘子",值:"X 大" }

问题在于访问obj字段的方式。它应该是obj["name"]obj.name,但不是obj[name]

试试这个,

storeUserInputs: function (doc) {
    var activeTask = ActiveTaskCol.findOne({}, {fields: {action: 1}, sort: {createdAt: -1}, limit: 1}).action;
    console.log(doc);
    doc.forEach(function (obj) {
        console.log(obj);
        InputsCol.update({action: activeTask, name: obj.name}, {$set: { value: obj.value }});
        // or InputsCol.update({action: activeTask, name: obj["name"]}, {$set: { value: obj["value"] }});
    })
}

此错误是因为您使用的是函数中未定义的namevalue变量。