Javascript 在meteor collection文档中插入值
当调用方法Javascript 在meteor collection文档中插入值,javascript,meteor,Javascript,Meteor,当调用方法storeUserinputs时,这段代码试图在文档中插入一些值,但我得到了一个错误 调用方法“storeUserInputs”时出错:内部服务器错误[500] 我检查了很多次,但都没有发现问题。我做错了什么?谢谢 storeUserInputs: function (doc) { var activeTask = ActiveTaskCol.findOne({}, {fields: {action: 1}, sort: {createdAt: -1}, limit: 1}).
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]}});
});
}
上面的代码控制台在抛出错误之前记录了以下内容
[{name:'plate',value:'x large'}]{name:'plate',value:'x large'}
问题在于访问
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"] }});
})
}
错误是因为您使用的是函数中未定义的name
和value
变量