javascript - 如何检查用户是否已经关注 NodeJs 中的其他用户 - Mongoose

标签 javascript node.js mongodb mongoose mongodb-query

我有一个 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/

相关文章:

mongodb - 如何在 Mongo 聚合中折叠数组?

mongodb - MongoDB错误: invalid operator: $search when doing $text search

javascript - 如何删除使用 jQuery.bind 创建的事件处理程序?

javascript - express.js中基于请求参数的动态路由

javascript - 在树遍历完成回调后执行函数

javascript - Heroku 文件上传

node.js - Mongoose:使用自定义函数转换查询/聚合中的值

javascript - 保存到 cookie 的简单隐藏/显示常见问题解答

javascript - 如何在 React Native 中将样式对象与内联样式结合起来?

javascript - AngularJS - 在表单提交操作之前运行并等待异步函数