【发布时间】:2020-07-20 03:30:06
【问题描述】:
我有一个类似的 userSchema:
let userSchema = new Schema({
// others
followers: [{type: SchemaTypes.ObjectId, ref: "user"}]
})
现在我如何添加关注者,以便它每次都是独一无二的并提供良好的性能。 我试过这个
user.followers.push(anotherUserId);
user.followers = Array.from(new Set(user.followers));
user.save()
但它不会唯一地存储它们。它存储对象,因此该集合不起作用。 有没有办法在不迭代每一个的情况下做到这一点?如果用户有数百万的关注者,那么迭代显然会很慢。
【问题讨论】:
-
使用
addToSet而不是push -
ObjectId()不是对象,是 mongoDB 的 ID!
标签: javascript node.js mongoose mongoose-schema