【发布时间】:2017-04-25 02:51:42
【问题描述】:
我有以下架构:
var daySchema = new Schema({
date: {
type: Date,
required: true
},
activities: [{
type: Schema.Types.ObjectId,
ref: 'Activity'
}]
});
我正在删除 daySchema 中的一个活动:
var index = day.activities.indexOf("584aa9c16791eb1ec4ad8e73");
day.activities.splice(index, 1);
有人可以解释一下为什么会这样吗?数组“activities”是一个“ObjectId”数组。因此“indexOf”不应该与对象一起使用,但“indexOf”仍然能够根据 id 找到元素。这让我发疯了,这里还有其他事情吗,也许是 ObjectId 中的地图函数?
【问题讨论】: