I have the following schema:
var daySchema = new Schema({
date: {
type: Date,
required: true
},
activities: [{
type: Schema.Types.ObjectId,
ref: 'Activity'
}]
});
我正在从日程中删除一个活动:
var index = day.activities.indexOf("584aa9c16791eb1ec4ad8e73");
day.activities.splice(index, 1);
有人能解释一下为什么这个代码可以工作吗?数组 "activities" 是一个 "ObjectId" 数组。因此,"indexOf" 方法不应该适用于对象,但是它仍然可以根据 id 找到元素。这让我很困惑,难道还有其他的操作,比如 ObjectId 内部使用了 map 函数吗?
indexOf
链接似乎不再重定向到indexOf
文档,因此很难知道indexOf
具有特殊的语义。 - solstice333