我有一个 followSchema:
var followSchema = mongoose.Schema({
user : { type: Number, ref: 'User'},
following : { type: Number, ref: 'User'}
});
我有两个用户。 在第一个中,我需要列出他关注的所有用户。 第二个我需要检查他是否已经关注了我从第一个收集的一些用户。
我怎样才能在 Mongoose 中以一种有感情的方式做到这一点。 从第一个用户那里获取关注者列表并不难,但要检查第二个用户是否关注其中一个用户就有点困难了,我不知道该如何管理。
最佳答案
这很简单,您需要做的就是查询这两个条件。假设“Follow”为模型:
Follow.find({
"user": 1,
"following": 2
})
不过,根据您的“规模”,以下架构可能更有用:
var userSchema = new Schema({
"_id": Number,
"name": String,
"following": [{ "type": Number, "ref": "User" }],
"followedBy": [{ "type": Number, "ref": "User" }]
})
查询几乎相同:
User.find({
"_id": 1,
"following": 2
})
但当然,只要可以遵守“数组”最佳实践的一般约束条件,它总会为您提供其他选择。
关于javascript - 如何检查用户是否已经关注 NodeJs 中的其他用户 - Mongoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29142359/