0
我是Mongodb的新手,我一直试图让嵌入式数组工作。在插入时,我可以插入数组的第一个元素而没有问题。但是,当我更新时,它会一直抛出一个'0不是对象'的错误,该错误对于错误消息是模糊的。我能做些什么来解决它?在将新对象插入到嵌入式阵列时遇到困难
这里是我的架构:
FightCards.schema = new SimpleSchema({
event_id: {
type: Number
},
player_id: {
type: String
},
fighters: {
type: [Object]
},
'fighters.$.id': {
type: Number
},
'fighters.$.name': {
type: String
},
'fighters.$.salary': {
type: Number
}
});
这里是有问题的代码:
if(FightCards.find({}).count() == 0) {
FightCards.insert(
{event_id: this.props.event_id, player_id: Meteor.userId(), fighters: [ {id: fighter.id, name: fighter.first_name + " " + fighter.last_name, salary: salary} ]},
(err, res) => {
if(err) console.log(err);
}
);
} else {
FightCards.update({event_id: this.props.event_id, player_id: Meteor.userId()},
{ $push: { fighters: [{id: fighter.id, name: fighter.first_name + " " + fighter.last_name, salary: salary}]}},
(err, res) => {
if(err) console.log(err);
}
);
}
谢谢寻求帮助,解决它。 – Craig