gpt4 book ai didi

node.js - MongooseArray#indexOf 不使用对象 ID

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:42 25 4
gpt4 key购买 nike

我正在尝试使用 mongoose 的内置 indexOf() 方法来查看文档数组中是否存在对象 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。

我做错了什么?

这是 Mongoose 文档: http://mongoosejs.com/docs/api.html#types_array_MongooseArray-indexOf

最佳答案

老问题,但这最近让我很反感,所以我会发布我的解决方案供其他人熬夜使用:

user1.followers.indexOf(user2._id.toString());

关于node.js - MongooseArray#indexOf 不使用对象 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12929476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com