题
这是将字典添加为主文档的子项的函数。
addSubItem = function(id, data) {
s = Item.findOne(id);
if(s){
Item.update({_id:id},{$push:{'subItemsList':data}});
}
};
.
i验证数据传递,是有效的主文档ID子项数据。
data = {num:1, value: 'Subitem1'};
.
这昨天有很好的工作,最新版本的流星(0.4.2),但今天我在JavaScript控制台获取此消息:
Error: Cannot apply $push modifier to non-array
.
我创建并设置了一个新项目,我仍然得到相同的。
解决方案
感谢Lloyd,漂亮的解决方法,谢谢你的JavaScript崩溃课程(我是一个Begganer),但我找到了解决方案:(注意“$ PUSH”)
addSubItem = function(id, data) {
s = Item.findOne(id);
if(s){
Item.update({_id:id},{"$push":{'subItemsList':data}});
}
};
. 其他提示
试试:
addSubItem = function(id, data) {
s = Item.findOne(id);
if(s){
s.subItemsList = s.subItemsList || [];
s.subItemsList.push(data);
Item.update(id, s);
}
};
. 不隶属于 StackOverflow