我正在尝试使用猫鼬内置的 indexOf() 方法来查看 doc 数组中是否存在对象 ID。但它似乎不适用于对象 ID,即使文档说它应该这样做。
var UserSchema = new Schema({
, following : [{ type: Schema.ObjectId, ref: 'User'}]
, followers : [{ type: Schema.ObjectId, ref: 'User'}]
});
这给了我-1
user1.followers.indexOf(user2._id);
对于以下数据:
console.log( user1.followers ) # => [ '505e2f1de888c7d701000001' ]
conosle.log( user2._id ) # => 505e2f1de888c7d701000001
console.log( user1.followers.indexOf( user2._id ) ) # => -1
我也试过只传递 user2 对象,但同样的问题:
console.log( user1.followers.indexOf( user2 ) ) # => -1
我应该在最后一个日志中看到 1,而不是 -1。
我究竟做错了什么?
这是猫鼬文档: http: //mongoosejs.com/docs/api.html#types_array_MongooseArray-indexOf