我有 userId
类型的变量 Types.ObjectId
。在架构中,我有 likes
属性,它是 Types.ObjectId
的数组。当我尝试根据包含值的数组返回 boolean
字段时,即使提供的 id 在所述数组中,我也会得到 false
。一旦我将提供的值转换为 string
,然后返回到 ObjectId
,我就会得到正确的 boolean
值。出现这种情况的原因是什么?
query.addFields({
'likedByCurrentUser': { $in: [Types.ObjectId(userId.toString()), '$likes'] }
});