我试图使用mongoose的内置indexOf()方法来查看对象id是否存在于doc数组中。但它似乎没有与对象id一起工作,即使文档说它应该。MongooseArray#indexOf不与对象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
参数必须是对象。 'user1.followers.indexOf(user2);' – Joonas
仍然不起作用。 - isFollowing ['50680445639190c06a000002','505e2f1de888c7d701000001'] 505e2f1de888c7d701000001 -1 – chovy